用php正则表达式获取html标签内的值

用php正则表达式获取html标签内的值,第1张

如果只是想获得

LT-B2F02257-C051-CF98-1E2189EE92E7EDE2

这个值的话,用不着正则,根据你form的提交方式$_GET['lt'] 或者 $_POST['lt'] 或者

$_REQUEST['lt']都可以得到这个值。正则只有当你想再从这个值中提取特定值的时候才可能有用武之地。

<a href=\"(+)\" class=\"e\">(+)</a>

(+):“()”是分组匹配,“”是任意字符匹配,“+”是匹配一到多个,“”是非贪婪匹配,即最少字符匹配,否则会匹配到一些冗余信息。

整个表达式中class=\"e\"是区分页面一和页面二的关键哦~

    header('content-type:text/html; charset=utf-8');

    $str = '<li><a href="/news1397/" title="1827年3月5日 意大利物理学家伏打逝世">1827年3月5日 意大利物理学家伏打逝世</a>  </li>    

             

           <li><a href="/news1398/" title="1871年3月5日 波兰女革命家卢森堡诞辰">1871年3月5日 波兰女革命家卢森堡诞辰</a>  </li>    

             

           <li><a href="/news1399/" title="1886年3月5日 董必武诞辰">1886年3月5日 董必武诞辰</a>  (图)</li>    ';

    preg_match_all('/<a>()<\/a>/im', $str, $matches);

    var_dump($matches[1]);

$preg = '/<td[\w\W]Height="30">([\w\W])<\/td>/';

preg_match_all($preg, $str, $arr);

foreach ($arr[1] as $val) {

    echo htmlentities($val)'</br>';

}

var a = documentquerySelector("#ctl00_ContentPlaceHolder2_Labcontent>tr>td:nth-child(n)innerHTML")

大概就是这样 用querySelector()和:nth-child(n)组合来获取dom元素

(<=>)[^<>]+(=<)

假如html标签里面有一句:

String a = "<style type=\"text/css\"> div \n" +

"{ margin: 0; padding: 0; outline: 0; }</style>";

我如何把这一句取出来呢,包括标签。

正则表达式:<style([\\s\\S])</style>

扩展资料:

正则表达式匹配HTML标签

方法一:

var str = '<p class="odd" id="odd">123</p>';

var pattern = /<\/[a-zA-Z]+(\s+[a-zA-Z]+="")>/g;

consolelog(strmatch(pattern));

方法二:

var str = '<p class="odd" id="odd">123</p>';

var pattern = /<[^>]+>/g;

consolelog(strmatch(pattern));

方法三:

var str = '<input type="text" value=">" name="username" />';

var pattern = /<(:[^"'>]|"[^"]"|'[^']')>/g;

consolelog(strmatch(pattern));

说明:()表示捕获分组,()会把每个分组里的匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的内容)

(:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来

没有引用的需求的话,采用非捕获性分组,更为简洁;

方法四:

var str = '<input type="text" value=">" name="username" />';

var pattern = /<(:[^"'>]|(["'])[^"']\1)>/g;

consolelog(strmatch(pattern));

</script>

Html标签是支持嵌套的,怎么能够找到指定标签相对应的闭合标签是最重要的问题。

思路:先匹配最前面的起始标签,假设是div(<div),接着一旦遇到嵌套div,就“压入堆栈”,后面如果遇到div闭合标签了,就“d出堆栈”。如果遇到闭合标签的时候,堆栈里面已经没有东西了,那么匹配结束,此结束标签为正确的闭合标签。

1、匹配任意闭合HTML标签的正则表达式

<(<HtmlTag>[\w]+)[^>]>((<Nested><\k<HtmlTag>[^>]>)|</\k<HtmlTag>>(<-Nested>)|)</\k<HtmlTag>>

2、如果只想匹配div标签,可以使用下面的正则表达式:

<(<HtmlTag>div)[^>]>((<Nested><\k<HtmlTag>[^>]>)|</\k<HtmlTag>>(<-Nested>)|)</\k<HtmlTag>>

3、如果想同时匹配多个HTML标签,可以使用下面的正则表达式

<(<HtmlTag>(div|span|h1))[^>]>((<Nested><\k<HtmlTag>[^>]>)|</\k<HtmlTag>>(<-Nested>)|)</\k<HtmlTag>>

4、如果想匹配包含ID的标签,可以使用下面的正则表达式:

<(<HtmlTag>[\w]+)[^>]\s[iI][dD]=(<Quote>["'])footer((Quote)\k<Quote>)[^>](/>|>((<Nested><\k<HtmlTag>[^>]>)|</\k<HtmlTag>>(<-Nested>)|)</\k<HtmlTag>>)

以上就是关于用php正则表达式获取html标签内的值全部的内容,包括:用php正则表达式获取html标签内的值、正则表达式,如何取HTML标签的属性。、php正则表达式截取HTML标签中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9269597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存