- ベストアンサー
PHPの置換方法
<?php $begin = 'あいうえおかきくけこさしすせそ'; $replace = 'か*'; $last = ''; $word = str_replace($replace, $last, $begin); php> 以上のようにプログラムを組んで$wordの出力を『あいうえお』のように『か』以降をすべて空白で置換というプログラムを作りたかったんですがうまくいきませんでした。指定した文字列以降を全部置換するには*は使えないんでしょうか?また、ほかに方法があればアドバイスをいただけるとうれしいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
str_replaceでは日本語も正規表現も使えません。 日本語の正規表現による変換をするならば、mb_ereg_replace関数です。 phpの日本語マニュアルは http://www.php.net/manual/ja/ にあります。 mb_ereg_replace関数の説明は http://www.php.net/manual/ja/function.mb-ereg-replace.php 正規表現は http://www.php.net/manual/ja/reference.pcre.pattern.syntax.php *は直前にある文字の0回以上の繰り返しになります。 "か.*"で良いはず。 あと、phpを閉じるのは ?> ですね。
お礼
回答ありがとうございます。 本当は日本語ではなくhtmlを置換するものを作ろうとしたんで方向的には合っていそうなことが分かりました。ちゃんと?>で閉じているし、何でできないのか・・・。まぁ、もう少しチャレンジしてみます。
補足
・・・・・と思ったらできました!!!*の前にピリオドを忘れてました。助かりました。ありがとうございました。