在php中系统为我们内置了一个html标签清除函数strip_tags它删除的是所有字符串了,如果我们只要删除指定的就没有办法了,下面我就来给大家整理了一个站长写的自定义删除html标签函数.
PHP实例如下:
- <?php
- function strip_selected_tags($text, $tags = array())
- {
- $args = func_get_args();
- $text = array_shift($args);
- $tags = func_num_args() > 2 ? array_diff($args,array($text)) : (array)$tags;
- foreach ($tags as $tag){
- if(preg_match_all('/<'.$tag.'[^>]*>(.*)</'.$tag.'>/iU', $text, $found)){
- (www.111cn.net)$text = str_repla(www.111cn.net)ce($found[0],$found[1],$text);
- }
- } return $text;
- }
- ?>
这个函数很短,但它实现的功能很实用,第一个参数是原字符串,第二个参数是要删除的HTML的标签数组,如果要删除<a>和<p>标签,只需要使用下面的代码:
- <?php
- $tags = array();
- $tags[0]='a';
- $tags[1]='p';
- $str = "<a href=http://www.phpfensi.com>link</a><p>help</p>";
- echo strip_selected_tags($str,$tags);
- ?>
是不是很简单呢? |