ここで私の場合、 $commonWords配列で利用可能な$inputから文字列を削除したいだけです。
$input = "perg-replace my string perge replace";
function removeCommonWords($input){
$commonWords = array('my','perge');
return preg_replace('/\b('.implode('|',$commonWords).')\b/','',$input);
}
私が期待した結果は次のとおりです。
" perg-replace 文字列の置換"
しかし、上記の関数から得た結果は次のとおりです。
" -文字列置換を置換"
perg_replace に「 perg-replace 」を読むように指示するには、単語が 1 つありますか?
アップデート:
以下のコードは私にとってはうまくいきます:
return preg_replace('/(?<![-\'"])\b('.implode('|',$commonWords).')\b(?![-'"])i','',$input);