用 preg_replace 中的数组替换字符串

Replace string with array in preg_replace

我有一个要过滤的字符串。我想找到一些我想用 preg_replace 替换的词。我的参数是我想从我的字符串中取出的一组单词,我的替换只是一个空的 space。有人可以帮我解决这个问题吗?

我的代码:

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

你可以这样使用它:

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

正则表达式不能是数组,但 preg_replace 的第一个参数可以是正则表达式数组,你必须这样做:

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

我在单词周围添加了单词边界,因为不匹配像 daily

这样的单词