php:preg_match / preg_replace里面有空格的单词

时间:2015-10-09 07:52:44

标签: php preg-replace preg-match

嗨我想要匹配&如果用空格分割,也要替换文本中的单词。

IE:

我想匹配" foobar"如果它写了" foo bar"," fo obar"或" foob ar"

约束: 这个词不是"静态"所以我不能写一个preg_replace,如:

preg_replace("/f\s*o\s*o\s*b\s*a\s*r/", "my_replace", $string)

这个词并不孤单,并且在文本中没有特定的位置,因此可以放置 " bla bla bla ob bla bla bla"

1 个答案:

答案 0 :(得分:0)

您可以遍历您尝试搜索和替换的单词并生成正则表达式语句:

$text="bla bla foo b ar bla bla";

$search = "foobar";

$preg = "";
for($i=0;$i<strlen($search);$i++)
{
    $preg.=substr($search, $i, 1)." *?";
}

echo preg_replace("/$preg/i", "TEST", $text);