正确使用正则表达式过滤字符串,讲给工作带来很大的方便。以下是以JS标签为例
$script = '<script type="text/javascript">alert("ase");</script>';
echo '去除所有js代码' . preg_replace("/<script[^>]*?>.*?<\/script>/", "", $script);
echo '<br/>将script标签的内容打印出来' . preg_replace('/<\/*script[^>]*>/', '', $script);
解释:
/....../ : 开始 和 结束标示
/<scrpit : 匹配以“<script”开始的字串
[^>] : 非">"字串
* : 0到多个
? : 非贪婪匹配
<\/script> : 转义/,需要这样“\/”
\/* : 斜杠/ 0到多个
注意:php5.3之后的版本,如果使用ereg_replace都会提示“Deprecated: Function eregi() is deprecated in ……”,说明此函数已被启用。