如何在php中将文本preg_replace到强标记

时间:2014-12-04 22:55:49

标签: php html regex preg-replace

我想替换

<strong>abc</strong>

到这个

<strong>abc</strong>

PHP

preg_replace('/(&lt;strong&gt;(.*?)&lt;/strong&gt;)/', '<strong>\\2</strong>', $input)

发出错误

警告:preg_replace():未知修饰符&#39; t&#39;在第94行的D:\ xampp \ htdocs \ myquestion \ p \ method.php

我是关于正则表达式的新手请帮忙。非常感谢。

4 个答案:

答案 0 :(得分:0)

JUst使用htmlspecialchars_decode()函数

使用str_replace的其他方式

function replace($str){
    $badTags = array('&lt;strong&gt;', '&lt;/strong&gt;');
    $goodTags = array('<strong>', '</strong>');
    return str_replace($badTags, $goodTags, $str);
}
   echo replace('&lt;strong&gt;abc&lt;/strong&gt;');

答案 1 :(得分:0)

您需要在模式中转义前斜杠。

 preg_replace('/&lt;strong&gt;(.*)&lt;\/strong&gt;/', '<strong>$1</strong>', $input);

答案 2 :(得分:0)

对所有代码使用htmlspecialchars_decode(),或者如果您只想使用强代码,请使用此代码:

$what = array('&lt;strong&gt;','&lt;/strong&gt;');
$to = array('<strong>','</strong>');    
$str = str_replace($what,$to,$str);

答案 3 :(得分:0)

使用html_entity_decode

$str = html_entity_decode($str);