我有一个带有一些 tekst 丰富性的字符串,zo 字符串中还有<b>
一些<em>
其他的 html 标记。当然,用户也可以将<script>
或其他内容放入字符串中,但这不是您想要的。我想用 and 替换and ,<
而不是and 。>
<
>
<b>
<em>
问问题
440 次
3 回答
1
看起来你想要一个负面的前瞻:
$escaped = preg_replace("(</?(?!(?:b|em)\b))","<",$raw);
请注意,您不需要转义>
,>
因为它本身没有任何意义。
于 2013-02-28T20:03:43.070 回答
1
测试这个
$notecomments=" <b> <em> <sf> <script>";
$output=preg_replace_callback(array("#<(.*?)>#"),function($matches){
switch($matches[1]){
case 'b':
case 'em':
return $matches[0];
break;
default:
return "<".$matches[1].">";
}
},' '.$notecomments.' ');
print_r($output);
输出:
<b> <em> <sf> <script>
于 2013-02-28T20:08:49.217 回答
0
也许strip_tags更适合这个:
echo strip_tags($text, '<b><em>');
于 2013-02-28T20:10:34.350 回答