文字列変換・文字列置換

変更対象が1個

$show = str_replace("変更前","変更後","変換対照文章");

変更対象が複数

$hash=array(
  '変更前1'=>'変更後1',
  '変更前2'=>'変更後2',
  '変更前3'=>'変更後3',
);
$show = strtr(変換対照文章,$hash);

あくまで一括で変換だから注意。
あと本当はマルチバイト非対応だから、たまに文字化けする。

マルチバイトで変更対象を指定

$show = preg_replace("正規表現", "変更後","変換対照文章");

※正規表現については後ほどメモるけど、とりあえず以下
正規表現

応用すると以下のようなことが出来る。

数字以外削除

マルチバイトの数字を半角数字に変換後、数字以外は消す

$show = preg_replace("/[^0-9]/", "",mb_convert_kana($show,"n","SJIS"));

=数字を='数字'とする

$show	= preg_replace("/=([0-9]*[0-9])/i", "='$1'" , $show);

$showの
xxxxあああxxxx=123232144xxxx='123232144'xxxx=123x=1 x=12 xxxx=12345
だった場合、
xxxxあああxxxx='123232144'xxxx='123232144'xxxx='123'x='1' x='12' xxxx='12345'
となる。

因みに正規表現で$dは数字なのだが、

$show	= preg_replace("/=(.*\d)/i", "='$1'" , $show);

とした場合、
xxxxああああxxxx='123232144xxxx='123232144'xxxx=123x=1 x=12 xxxx=12345'
となってしまうので、注意が必要

コメント

タイトルとURLをコピーしました