php实现过滤表单提交中html标签的方法,PHP移除指定HTML标签方法总结

近评论中有一些机器人提交的post链接,都是一些垃圾评论。为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果。而且可以减少来自seo/seo.html”
target=”_blank”>搜索引擎的惩罚。

本文实例讲述了php实现过滤表单提交中html标签的方法。分享给大家供大家参考。具体实现方法如下:

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

去掉<br/>标签

有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法。

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

某些情况我们需要去掉<br/>标签,可以使用str_replace函数。

近评论中有一些机器人提交的post链接,都是一些垃圾评论。为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果。而且可以减少来自seo/seo.html”
target=”_blank”>搜索引擎的惩罚。

strip_tags

//取出br标记

这里以去掉<br/>标签为例:

strip_tags — Strip HTML and PHP tags from a string

 代码如下

某些情况我们需要去掉<br/>标签,可以使用str_replace函数。

string strip_tags ( string str [, string allowable_tags] )

$str=str_replace(“<br>”,””,$str);

复制代码 代码如下:

弊端 :

移除html标签

//取出br标记
$str=str_replace(“<br>”,””,$str);

这个函数只能保留想要的html标签,就是参数string allowable_tags。

可以使用strip_tags函数搞定。

移除html标签:
可以使用strip_tags函数搞定。

这个函数的参数allowable_tags的其他的用法。

 代码如下

复制代码 代码如下:

 代码如下

$str= strip_tags($str);

$str= strip_tags($str);

strip_tags($source, ”); 去掉所以的html标签。
strip_tags($source, ‘<div><img><em>’);
保留字符串中的div、img、em标签。

封装成一个函数

封装成一个函数:

如果想去掉的html的指定标签。那么这个函数就不能满足需求了。

 代码如下

复制代码 代码如下:

于是乎我用到了这个函数。

<?php
    function removehtml($str){
        $str=str_replace(“<br>”,””,$str);
        return strip_tags($str);
    }
?>

<?php
    function removehtml($str){
        $str=str_replace(“<br>”,””,$str);
        return strip_tags($str);
    }
?>

 代码如下

希望本文所述对大家的php程序设计有所帮助。

function strip_only_tags($str, $tags, $stripContent = FALSE) {
  $content = ”;
 
  if (!is_array($tags)) {
    $tags = (strpos($str, ‘>’) !== false ?
explode(‘>’,
str_replace(‘<‘, ”, $tags)) : array($tags));
    if (end($tags) == ”) {
      array_pop($tags);
    }
  }
必发365游戏官方网址, 
  foreach($tags as $tag) {
    if ($stripContent) {
      $content = ‘(.+<!–‘.$tag.'(–>|s[^>]*>)|)’;
    }
 
    $str =
preg_replace(‘#<!–?’.$tag.'(–>|s[^>]*>)’.$content.’#is’,
”, $str);
  }
 
  return $str;
}

您可能感兴趣的文章:

  • php过滤表单提交的html等危险代码
  • PHP对表单提交特殊字符的过滤和处理方法汇总
  • php
    防止表单重复提交两种实现方法
  • php表单加入Token防止重复提交的方法分析
  • AJAX
    PHP无刷新form表单提交的简单实现(推荐)
  • php防止用户重复提交表单
  • php实现表单多按钮提交action的处理方法
  • 表单提交错误后返回内容消失问题的解决方法(PHP网站)
  • 浅谈php提交form表单
  • php表单敏感字符过滤类
  • PHP实现表单提交时去除斜杠的方法

参数说明

$str  — 是指需要过滤的一段字符串,比如div、p、em、img等html标签。
$tags — 是指想要移除指定的html标签,比如a、img、p等。
$stripContent = FALSE  —
移除标签内的内容,比如将整个链接删除等,默认为False,即不删除标签内的内容。

使用说明

 代码如下

$target = strip_only_tags($source,
array(‘a’,’em’,’b’));移除$source字符串内的a、em、b标签。

$source='<div><a href=”” target=”_blank”><img
src=”logo.png” border=”0″ alt=”Welcome to linzl.” />This a example
from<em>lixiphp</em></a><strong>!</strong></div>
 ‘;
 
$target = strip_only_tags($source, array(‘a’,’em’));
 
//target results
//<div><img src=”/logo.png” border=”0″ alt=”Welcome to
lixiphp.” />This a example
from<strong>!</strong></div>

其它办法

 代码如下

<?php
//取出br标记
function strip($str)
{
$str=str_replace(“<br>”,””,$str);
//$str=htmlspecialchars($str);
return strip_tags($str);
}
?>

一个自定义的函数

/

 代码如下

**
 * 取出html标签
 *
 * @access public
 * @param string str
 * @return string
 *
 */
function deletehtml($str) {
    $str = trim($str); //清除字符串两边的空格
    $str = strip_tags($str,”<p>”);
//利用php自带的函数清除html格式。保留P标签
    $str = preg_replace(“/t/”,””,$str);
//使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。
    $str = preg_replace(“/rn/”,””,$str);
    $str = preg_replace(“/r/”,””,$str);
    $str = preg_replace(“/n/”,””,$str);
    $str = preg_replace(“/ /”,””,$str);
    $str = preg_replace(“/  /”,””,$str);  //匹配html中的空格
    return trim($str); //返回字符串
}
 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website