php正则表达式过滤某些HTML标签代码

来源:百度知道 编辑:UC知道 时间:2024/06/23 09:23:31
php正则表达式过滤某些HTML标签代码

(代码如下:)
function jieqi_textstr( $_obfuscate_R2_b, $_obfuscate_KT_ujQ = false )
{
if ( $_obfuscate_KT_ujQ )
{
$_obfuscate_dcwitxb = array( "/<img[^\\<\\>]+src=['\"]?([^\\<\\>'\"\\s]*)['\"]?/is", "/<a[^\\<\\>]+href=['\"]?([^\\<\\>'\"\\s]*)['\"]?/is", "/on[a-z]+[\\s]*=[\\s]*\"[^\"]*\"/is", "/on[a-z]+[\\s]*=[\\s]*'[^']*'/is" );
$_obfuscate_77tGbWOiZg = array( "\\1<br>\\0", "\\1<br>\\0", "", "" );
$_obfuscate_R2_b = preg_replace( $_obfuscate_dcwitxb, $_obfuscate_77tGbWOiZg , $_obfuscate_R2_b );
}
$_obfuscate_dcwitxb = a

如果只要 <b> 标签,不用“过滤”的方法,用“提取”的方法更简单。

$str = '<img src="xxx"><b>aaa</b><br>\n<b>b\nbb</b><span style="color:#FF0000;">yyy</span>';

$pattern = '/<b>(((?!<\/b>).)*)<\/b>/mi';

preg_match_all($pattern, $str, $matches, PREG_SET_ORDER);

print_r($matches);

输出

Array
(
[0] => Array
(
[0] => <b>aaa</b>
[1] => aaa
[2] => a
)

[1] => Array
(
[0] => <b>b\nbb</b>
[1] => b\nbb
[2] => b
)

)

$matches[0][0],$matches[1][0] 是你想要的结果?

<?php
$str=strip_tags("<html><p>PHP去除HTML代码的函数<br></p></html>","<br>