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 );
?>

参考:

PHPの絵本 第2版 Webアプリ作りが楽しくなる新しい9つの扉
株式会社アンク
翔泳社
売り上げランキング: 120,695

♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪

Light Webからのお知らせ

ライトウェブはプライバシーマークを取得しました!
今までも個人情報を取り扱う案件に携わって参りましたが、
より安心してお任せいただけるようになりました。
今後ともライトウェブをよろしくお願い致します!

♪・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪゚・*:.。. .。.:*・♪

次回もお楽しみに!☺