PHP中删除某个特定的HTML标签

使用PHP的内部函数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)){

               $text = str_replace($found[0],$found[1],$text);

         }

       }       return $text;

   }

?>

这个函数很短,但它实现的功能很实用,第一个参数是原字符串,第二个参数是要删除的HTML的标签数组,如果要删除<a>和<p>标签,只需要使用下面的代码:

 <?php

$tags = array();

$tags[0]='a';

$tags[1]='p';

 $str = "<a href=http://www.ajaxstu.com>link</a><p>help</p>";

echo strip_selected_tags($str,$tags);

?>

是不是很简单呢?

阅读全文 Tags: php   评论:0 引用:0 浏览:

学习微软的SaaS软件模式

不得不佩服微软工程师的细心和对用户考虑的周到。最近微软推出的Office Live Workspace产品令人耳目一新,这个产品采用插件的方式,在本地的所有Office程序(Word、Excel、Powerpoint等)里都都有一个内置的Live Workspaces连接到用户的网络帐号,用户可以将本地Office文件直接同步或上传到自己的Office Live Workspace网络空间上,然后使用Live Workspace帐号从世界上任何地点来访问这个文件,并与其他用户共享。这应该是微软的...

阅读全文 Tags: 评论:1 引用:0 浏览:

分页:[«]1[»]