[PHP] 「@」以降の文字列を抽出する

Write : 2005/12/21

例文説明

"mail@profaim.jp" という文字列から@以降の文字列を抽出します。
1: <?php
2:   $source_str = 'mail@profaim.jp';
3:   $pos = strpos( $source_str, '@' );
4:   $res_str = substr( $source_str, $pos+1 );
5: ?>

例文解説

PHP スクリプトタグ(1行目/5行目)

1行目の <?php  から、6行目の  ?> で囲まれた部分が、PHP Script として処理される内容となります。

変数への代入(2行目)

2行目の $source_str = 'mail@profaim.jp'; では、変数 source_str に文字列 'mail@profaim.jp' を代入しています。これは、'@' を検索する場合と文字列を抽出する場合とで同じ文字列を2度書かないようにするための配慮です。

strpos関数 による文字位置検索(3行目)

3行目では、strpos 関数を用いて 文字列 'mail@profaim.jp' から '@' のオフセットを取得し、変数 pos に代入しています。文字列のオフセットは 0 から始まるので、下表から'@'のオフセットは 4 と求まります。

オフセット  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14
文字列 m a i l @ p r o f a i m . j p

substr関数による文字列抽出(4行目)

4行目では、substr 関数を用いて '@' 以降の文字列抽出を行っています。3行目から '@' のオフセットが 4 と求まったので(求まったオフセット + 1) から文字列を切り出せば、'@' 以降の文字列を抽出することができます。

オフセット  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14
文字列 m a i l @ p r o f a i m . j p

結果として、文字列 "profaim.jp" が抽出され、変数 res_str に代入されます。



  関連技術  
ネットワークとプロトコル
データ管理
RAID1
データ形式
拡張子(Extention)
CSV 形式
連想配列
W3Cによる日時表記
SEO
メニュー・見出し・タイトル
色彩・デザイン
モニタ・キャリブレーション
言語・環境
Java
Servlet/JSP
PHP
Objective-C
Excel関数
サポート
info@profaim.jp

PR
検索
カスタム検索