Perl如何过滤html标签

比如一串字符串

<div><b>123</b></div>

如果只想拿到123怎么办呢?

用perl的正则表达式可以很容易的做到。

$str =~  s/<([a-zA-Z]\w*)(\s+\S+)*>(.+?)<\/\1>/$3/sg;

这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了。

如果上边的看不懂,那看个简单的:

$retPromotionInfo=~s/<.*?>//g;

$retPromotionInfo=~s/&lt;.*?&gt;//g;

上边的问号代表懒惰匹配,如果不加问号,会把中间的内容也过滤掉。

第二行表示对转义过的标签也进行过滤,

&lt; 代表 <

&gt; 代表 >

好了,就到这里吧。

原文:http://blog.csdn.net/hongchangfirst/article/details/37693005

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

Perl如何过滤html标签,布布扣,bubuko.com

时间: 2024-10-27 06:02:58

Perl如何过滤html标签的相关文章

asp.net过滤HTML标签,只保留换行与空格

自己从网上找了一个过滤HTML标签的方法,我也不知道谁的才是原创的,反正很多都一样.我把那方法复制下来,代码如下: /// <summary> /// 去除HTML标记 /// </summary> /// <param name="NoHTML">包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public static string NoHTML(strin

ASP.NET过滤HTML标签只保留换行与空格的方法

这篇文章主要介绍了ASP.NET过滤HTML标签只保留换行与空格的方法,包含网上常见的方法以及对此方法的改进,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了ASP.NET过滤HTML标签只保留换行与空格的方法.分享给大家供大家参考.具体分析如下: 自己从网上找了一个过滤HTML标签的方法,我也不知道谁的才是原创的,反正很多都一样.我把那方法复制下来,代码如下: /// <summary> /// 去除HTML标记 /// </summary> /// <para

一段过滤HTML标签的代码

public static String Html2Text(String inputString) {        String htmlStr = inputString; // 含html标签的字符串        String textStr = "";        java.util.regex.Pattern p_script;        java.util.regex.Matcher m_script;        java.util.regex.Pattern

PHP中过滤常用标签的正则表达式

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!–.*?–>/si","",$str); //注释 $str=preg_

java正则表达式过滤html标签(转)

import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正则表达式工具类 * </p> * <p> * Description: 包括过滤HTML标记,转换HTML标记,替换特定HTML标记 * </p> * <p> * Copyright: Copyright (c) 2006 * </p> * * @auth

PHP过滤常用标签的正则表达式

<?php$str=preg_replace("/\s+/", " ", $str); //过滤多余回车$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)$str=preg_replace("/<\!–.*?–>/si","",$str); //注释$str=

php过滤HTML标签、属性等正则表达式汇总

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=pre

BeautifulSoup实现博文简介与过滤恶意标签(xxs攻击)

一.BeautifulSoup模块 二.博文简介 三.过滤恶意标签 一.BeautifulSoup模块 pip install bs4  # 安装bs4 from bs4 import BeautifulSoup  # 导入BeautifulSoup 二.博文简介 from bs4 import BeautifulSoup content = '<a href="http://example.com/">I linked to <i>example.com<

smarty截取字符串与过滤HTML标签

用truncate截取文字时如果内容读出出现样式错误,首先看是否因有HTML中标签的css样式,使用 |strip_tags过滤. truncate用法: {$item.content|strip_tags|truncate:60:"...":true} $item.content是要过滤的内容,strip_tags的作用是过滤从数据库读出的内容里含有HTML标签的信息,truncate:60:"...":true表示要截取显示的内容,60表示截取内容的大小,&qu