php中strip_tags()函数的用法举例

发布时间:2021-01-10编辑:脚本学堂
本文介绍下,php中有关strip_tags()函数的用法,有需要的朋友,可以参考下。

在php中strip_tags() 函数,可以剥去 HTML、XML 以及 PHP 的标签。

用法:
strip_tags(string,allow)
后面的allow是可选的。填入的话表示什么标签被允许。

附,php使用strip_tags清除所有标记。

string strip_tags(string str);

函数strip_tags可去掉字符串中包含的任何 HTML 及 PHP 的标记字符串。若是字符串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会返回错误。

string strip_tags ( string str [, string allowable_tags] ) 返回一个去除了HTML标签的字符串;可以使用第二个参数来设置不需要删除的标签。

例如:

<?php
strip_tags($str, "<a>"); 
//保留$str中的a标签
?>

问题1,strip_tags如何保留多个HTML标签?

只需要将多个标签用空格分隔后写到strip_tags的第二个参数中,代码:

strip_tags($str, "<p> <b>"); 

问题2,php删除html标记中的特定标签的方法?

代码:

<?php
/**
* 删除html标记中的特定标签
* edit www.jb200.com
*/
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 preg_replace( '/(<('.join('|',$tags).')( | |.)*/>)/iu', '', $text);
    }
$str = "[url="]123[/url]";
echo strip_selected_tags($str,array('b'));
?>