2017-02-08 17 views
0

フィルタリングする文字列があります。私はpreg_replaceを使って置きたい言葉を探したい。私のパラメータは、私が文字列から取り出したい単語の配列であり、私の置き換えは空のスペースだけです。誰かがこの問題を解決するのを助けてくれますか?文字列をpreg_replaceの配列に置き換えます。

マイコード:

$str = "Hello world. It's a beautiful day."; 
$para = array("world","day"); 
$newstr = preg_replace('/\b($para)\b/','',$str); 
echo $newstr; 

答えて

0

あなたはこのようにそれを使用することができます:

$str = "Hello world. It's a beautiful day."; 
$para = array("/world/","/day/"); 
$newstr = preg_replace($para,'',$str); 
echo $newstr; 
+0

こんにちは@sadlyblue。答えに感謝します。その作品はちょうどいい今..もう一つの事..もし私が "。" (そのドット)も文字列で表示されます。実際に私は配列に配列を爆発し、スペースを見つけると配列を印刷するが、私はそのドットが私の配列に入ることを望んでいません。 – Francisco

+0

実際には空のスペースやドットが私の配列に入りたくないのですが... – Francisco

+0

ドットと空白がないすべての単語の配列が欲しいですか? – sadlyblue

0

正規表現は、配列することはできませんが、preg_replaceの最初のパラメータは、正規表現の配列にすることができ、あなたはする必要があります:

$para = array("/\bworld\b/", "/\bday\b/"); 
$newstr = preg_replace($para, '', $str); 

単語bounを追加しましたdary arroundのような言葉が一致しないためdaily

+0

ありがとう@トート。本当に役に立ちました。はい、私は今実現しました。もし私が文字列に "バンド"という言葉があれば、 "と"を置き換えるので、最終的な文字列はちょうど "b"になります。再度、感謝します。 – Francisco

関連する問題