在preg_replace中用array替换字符串

时间:2017-02-08 16:05:08

标签: php arrays 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;

2 个答案:

答案 0 :(得分:0)

你可以像这样使用它:

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

答案 1 :(得分:0)

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

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

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

这样的字词