站长论坛

标题: PHP中正则替换html标签并可自定义正则规则 [打印本页]

作者: tznktg    时间: 2010-5-16 17:47
标题: PHP中正则替换html标签并可自定义正则规则
PHP有个去除HTML标签的函数strip_tags,不过对于某些特殊符号不好使,下面这个函数的功能非常强大,同时用户还可以根据自己的需要进行正则替换.如果不会可以留言跟贴

<?php   
function pregstring($str){   
$strtemp = trim($str);   
$search = array(   
"|'|Uis",   
"|<script[^>].*?</script>|Uis", // 去掉 javascript   
"|\[字定义\].*\[/字定义\]|Uis", // 去掉缩略图   
"|<[\/\!].*?[^<>]*?>|Uis", // 去掉 HTML 标记   
"'>(quot|#34);'i", // 替换 HTML 实体   
"'>(amp|#38);'i",   
"|,|Uis",   
"|[\s]{2,}|is",   
"[>nbsp;]isu",   
"|[$]|Uis",   
);   
$replace = array(   
"`",   
"",   
"",   
"",   
"",   
"",   
"",   
" ",   
" ",   
" ",   
);   
$text = preg_replace($search, $replace, $strtemp);   
return $text;   
}   
   
echo pregstring(字符串); //使用方法   
?>
作者: tznktg    时间: 2010-5-16 17:53
本帖最后由 tznktg 于 2010-5-16 17:56 编辑

PHP strip_tags() 函数

定义和用法
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。

语法
strip_tags(string,allow)参数 描述
string 必需。规定要检查的字符串。
allow 可选。规定允许的标签。这些标签不会被删除。
提示和注释
注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。
例子
例子 1
<?php
echo strip_tags("Hello <b>world!</b>");
?>输出:

Hello world!例子 2
<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>输出:

Hello world!




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2