PHP移除指定HTML标签方法总结

PHP 21NN 2年前 (2018-05-24) 14次浏览 已收录 0个评论 扫描二维码

在php中我们最常用的指定HTML标签可以直接使用strip_tags函数来替换了,利用它可以过滤所有的html标签哦,下面我来给大家介绍除了此函数之外的其它办法。

有时候我们需要把html标签页存到数据库里,但是有些场合却需要拿无html标签的纯数据,这个时候就要对带html标签的数据进行处理,把html标签都去掉,平时用 htmlspecialchars() 来过滤html,但是把html的字符转义了,最后显示出来的就是html源代码,利用strip_tags()就可以把html标签去除掉.

PHP默认的函数有移除指定html标签,名称为strip_tags,在某些场合非常有用。

strip_tags

strip_tags — Strip HTML and PHP tags from a string

string strip_tags ( string str [, string allowable_tags] )

弊端:这个函数只能保留想要的html标签,就是参数string allowable_tags,这个函数的参数allowable_tags的其他的用法,代码如下:

strip_tags($source,”); 去掉所以的html标签。

strip_tags($source,‘

’); 保留字符串中的div、img、em标签。

如果想去掉的html的指定标签,那么这个函数就不能满足需求了,于是乎我用到了这个函数,代码如下:

  1. function strip_only_tags($str, $tags, $stripContent = FALSE) { $content = ”;
  2. if (!is_array($tags)) {
  3. $tags = (strpos($str, ‘>’) !== false ? explode(‘>’, str_replace(‘<', '',="" $tags))="" :="" array($tags));="" if="" (end($tags)="=" '')="" {=""
  4. array_pop($tags); }
  5. }
  6. foreach($tags as $tag) { if ($stripContent) {
  7. $content = ‘(.+|s[^>]*>)|)’; }
  8. $str = preg_replace(‘#|s[^>]*>)’.$content.’#is’, ”, $str);
  9. }
  10. return $str; }

参数说明

$str — 是指需要过滤的一段字符串,比如div、p、em、img等html标签。

$tags — 是指想要移除指定的html标签,比如a、img、p等。

$stripContent = FALSE — 移除标签内的内容,比如将整个链接删除等,默认为False,即不删除标签内的内容。

使用说明,代码如下:

  1. $target = strip_only_tags($source, array(‘a’,’em’,’b’));移除$source字符串内的a、em、b标签。 $source=’
    “” target=”_blank”>PHP移除指定HTML标签方法总结This a example fromlixiphp!
  2. ‘; $target = strip_only_tags($source, array(‘a’,’em’));
  3. //target results
  4. //
    PHP移除指定HTML标签方法总结This a example from!

其它办法,代码如下:

  1. function strip($str) {
  2. $str=str_replace(“
    “,””,$str); //$str=htmlspecialchars($str);
  3. return strip_tags($str); }
  4. ?>

一个自定义的函数,代码如下:

  1. ** * 取出html标签
  2. * * @access public
  3. * @param string str * @return string
  4. * */
  5. function deletehtml($str) { $str = trim($str); //清除字符串两边的空格
  6. $str = strip_tags($str,”

    “); //利用php自带的函数清除html格式。保留P标签 $str = preg_replace(“/t/”,””,$str); //使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。

  7. $str = preg_replace(“/rn/”,””,$str); $str = preg_replace(“/r/”,””,$str);
  8. $str = preg_replace(“/n/”,””,$str); $str = preg_replace(“/ /”,””,$str);
  9. $str = preg_replace(“/ /”,””,$str); //匹配html中的空格 return trim($str); //返回字符串
  10. }


本文:PHP移除指定HTML标签方法总结 本文链接:https://www.21nn.cn/biancheng/phpbiancheng/2157.html 本站所以图片、文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如有侵权请邮件与我们联系处理。i@ki4.cn
喜欢 (0)
[1353713598@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址