php正则表达式特殊字符

时间:2018-03-16 01:47:57

标签: php regex

我有:

$regExge = "/(?!((<.*?)))\b(Öffnung)\b(?!(([^<>]*?)>))/s";
$replacege = "<a href=''>Öffnung</a>";

我使用preg_replace将Öffnung字符串替换为html <a href=''>Öffnung</a>

$content = preg_replace($regExge, $replacege, $content);

但它不起作用,只能使用普通字符串。

有什么办法吗?谢谢。

2 个答案:

答案 0 :(得分:4)

您需要指明您的模式应涵盖包含特殊字符的编码。 UTF-8是这里的一个选项,可以在模式的末尾使用/u来表示:

$regExge = "/(?!((<.*?)))\b(Öffnung)\b(?!(([^<>]*?)>))/su";
$replacege = "<a href=''>Öffnung</a>";            //  ^^^
$content = preg_replace($regExge, "stuff", $replacege);
print $content;

<a href=''>stuff</a>

Demo

答案 1 :(得分:1)

您可以尝试修改此版本。

this.http.get('assets/env.json')