単語と文字列の配列を持ち、文字列内の単語にハッシュタグを追加して、配列内で一致する文字を追加します。私は単語を見つけると交換し、このループを使用します。preg replaceは、単語を検出するときに文字以外の文字を無視します。
foreach($testArray as $tag){
$str = preg_replace("~\b".$tag."~i","#\$0",$str);
}
問題:「ある」と私の配列に「隔離」私は言葉を持って言うことができます。私は出力に#isolateを得ます。これは、単語 "分離"が "is"のために1回、 "分離"のために1回見つけられることを意味する。パターンは "#isoldated"が "is"で始まっていないことを無視し、 "#"で始まります。
私は例をもたらすが、これだけexampl電子であり、私はこの1つだけを解決する必要はありませんが、他のすべてのpossiblity:
$str = "this is isolated is an example of this and that";
$testArray = array('is','isolated','somethingElse');
出力は次のようになります。
this #is ##isolated #is an example of this and that