【php跳转到指定html】PHP移除指定HTML标签方法总结

时间:2018-04-20  来源:班主任工作总结  阅读:

有时候我们需要把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的指定标签。那么这个函数就不能满足需求了。


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

 代码如下

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);
    }
  }
 
  foreach($tags as $tag) {
    if ($stripContent) {
      $content = "(.+|s[^>]*>)|)";
    }
 
    $str = preg_replace("#|s[^>]*>)".$content."#is", "", $str);
  }
 
  return $str;
}


参数说明


$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="Welcome to linzl.This a example fromlixiphp!
 ";
 
$target = strip_only_tags($source, array("a","em"));
 
//target results
//Welcome to lixiphp.This a example from!

其它办法

 代码如下


//取出br标记
function strip($str)
{
$str=str_replace("
","",$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,"

"); //利用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); //返回字符串
}
 

【php跳转到指定html】PHP移除指定HTML标签方法总结

http://m.bbyears.com/banzhurengongzuo/40820.html

推荐访问: