※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
後になるほど省略されている場合がありますのでできるだけ順番に読んでください。
また、実行に際しては、サーバーでPHPが利用できる事を前提に解説しています。
■ 文字列の抽出と置換
今回は文字列の抽出と置換を解説します。
- substr((対象文字列), (開始位置), (終了位置))
-
文字列中内の指定した位置の文字列を返す。
開始位置が1桁目の場合、「0」と指定します。
「開始位置」がマイナスの場合、文字列の最後から数えます。
「終了位置」がマイナスの場合、文字列の最後から数えます。
「終了位置」は省略できます。
- substr_replace((対象文字列), (置換文字列), (開始位置),
(終了位置)) -
文字列中内の指定した位置の文字列を置換し、結果を返す。
開始位置が1桁目の場合、「0」となります。
「開始位置」がマイナスの場合、文字列の最後から数えます。
「終了位置」がマイナスの場合、文字列の最後から数えます。
「終了位置」は省略できます。
上記の関数は言葉で説明するよりサンプルを見てもらったほうが解かりやすいと思います。
上記の命令を確認するため次のようなサンプルを作ってみました。
- 【記述サンプル】
- <?php print <<< END_DOC <HTML> <HEAD> <title>文字列の検索と置換</title> </HEAD> <BODY> END_DOC; $str0 = "abcdefg"; $str1 = substr($str0, 3); print "$str0, 3:$str1<br>\n"; $str1 = substr($str0, 3, 2); print "$str0, 3, 2:$str1<br>\n"; $str1 = substr($str0, 1, -2); print "$str0, 1, -2:$str1<br>\n"; $str1 = substr($str0, -5, 2); print "$str0, -5, 2:$str1<br>\n"; $str1 = substr($str0, -5, -2); print "$str0, -5, -2:$str1<br>\n"; print "--------------------<br>\n"; $str0 = "abcdefg"; $str1 = substr_replace($str0, "XX", 3); print "$str0, 3:$str1<br>\n"; $str1 = substr_replace($str0, "XX", 3, 2); print "$str0, 3, 2:$str1<br>\n"; $str1 = substr_replace($str0, "XX", 1, -2); print "$str0, 1, -2:$str1<br>\n"; $str1 = substr_replace($str0, "XX", -5, 2); print "$str0, -5, 2:$str1<br>\n"; $str1 = substr_replace($str0, "XX", -5, -2); print "$str0, -5, -2:$str1<br>\n"; print <<< END_DOC </BODY> </HTML> END_DOC;