Light STUDY vol.2 ~文字列の置換~
Light Web社員の3号(サンゴウ)です。
「Light STUDY」は私3号が主にPHP等を勉強した内容を月1でご紹介するコーナーです!
今回はPHPで「文字列の置換」ができる方法をご紹介します。
文字列の置換
文字列の置換を行うには、 str_replace()(ストリングリプレース)関数を使います。
str_replace()関数は下記のように使用します。str_replace(‘置換対象の文字列’, ‘置換後の文字列’, ‘置換対象の文字列が含まれている文’);
例:
<?php
$str = str_replace('太郎', '五右衛門', '私の名前は山本太郎です。');
echo $str;
?>
↓実行結果↓
私の名前は山本五右衛門です。
str_replace()関数は配列の置換も可能です。
例:
<?php
$str = "I like yoga and hiphop";
$sports = array( "yoga", "hiphop" );
$beauty = array( "spa", "sauna" );
$newstr = str_replace( $sports, $beauty, $str );
?>
↓実行結果↓
I like spa and sauna
str_replace()関数は簡単な置換はできますが、複雑な置換はできません。複雑な置換を可能にするのが、正規表現での文字列置換です。
正規表現とは
正規表現とは、文字列を抽象的に表現する方法のことです。
正規表現を使うと、「PHPの勉強」「Cの勉強」「Javaの勉強」といった異なる文字列を、「<半角英字>の勉強」のように一つの形式で表現できます。
正規表現の中の文字
正規表現では、メタ文字という特殊な意味を持つ文字を使うことができます。
. ⇒ 任意の1文字(改行を除く) () ⇒ 正規表現のグループ
* ⇒ 0回以上の繰り返し [] ⇒ 文字クラス
+ ⇒ 1回以上の繰り返し {n} ⇒ n回の繰り返し
? ⇒ 0回または1回の繰り返し {n,} ⇒ n回以上の繰り返し
^ ⇒ 先頭 {n,m} ⇒ n回以上m回以下の繰り返し
$ ⇒ 末尾 \ ⇒ メタ文字を文字として扱う
| ⇒ 選択 / ⇒ パターンの最初と最後に指定
preg_replace()関数
正規表現で検索した文字列を置換するには、preg_replace()関数(ピーレグリブレース関数)を 使います。
例: 「pen」を「pencil」に置換する
<?php
$str = "There is no pen. I want a pencil.";
$str2 = preg_replace( "/pen/", "pencil", $str );
?>
この場合だと、「pencil」も変換されてしまいます。
『「pen」または「pencil」』を「pencil」に置換、というようにすることで防ぎます。
$str2 = preg_replace( "pen(cil)?", "pencil", $str );
次に、大文字と小文字をそれぞれ変換できる関数を紹介します。
大文字と小文字の変換
strtolower()(ストリングトゥロワー)関数
大文字を小文字に変換します。
例:
<?php
$str = "Attention!";
$new_str = strtolower( $str );
?>
strtoupper()(ストリングトゥアッパー)関数
小文字を大文字に変換します。
例:
<?php
$str = "Congratulation!";
$new_str = strtoupper( $str );
?>
参考:
翔泳社
売り上げランキング: 120,695
♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪
Light Webからのお知らせ
ライトウェブはプライバシーマークを取得しました!
今までも個人情報を取り扱う案件に携わって参りましたが、
より安心してお任せいただけるようになりました。
今後ともライトウェブをよろしくお願い致します!
♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪
次回もお楽しみに!☺