Php 使用regex preg_match查找开始锚标记和抓取类属性
我只是想做的是获取以下代码:Php 使用regex preg_match查找开始锚标记和抓取类属性,php,regex,class,preg-match,anchor,Php,Regex,Class,Preg Match,Anchor,我只是想做的是获取以下代码: $Anchors = '<a href="#" class="test1"><div class="test2"><a href="#" class="test3"><div class="test4">' 并获取最后一个锚标记的class属性的值,在本例中为test3。到目前为止,我有: if(preg_match('/(<a\s.*)(class="|\')([^-\'"]*)("|\')?.*?([^&g
$Anchors = '<a href="#" class="test1"><div class="test2"><a href="#" class="test3"><div class="test4">'
并获取最后一个锚标记的class属性的值,在本例中为test3。到目前为止,我有:
if(preg_match('/(<a\s.*)(class="|\')([^-\'"]*)("|\')?.*?([^>])/i',$Anchors,$matches)){
但是很明显,它没有做我想让它做的事情,有什么帮助吗?使用或
例如,使用simplehtmldom
foreach($html->find('a') as $element)
echo $element->class . '<br>';
描述
此正则表达式将:
匹配字符串中的最后一个锚点标记
捕获class属性的值
避免在搜索html字符串时使用正则表达式搜索字符串时可能出现的许多问题
实例
现场示例如下:
示例文本
请注意,最后一个标记的边大小写比较困难
<a href="#" class="test1"><div class="test2">
<a onmouseover=' class="NotTheClass" ; funClassRotator(class) ; ' class="test3" href="#" ><div class="test4">
捕获组
不要使用正则表达式解析HTML注释。不能使用正则表达式解析[X]HTML。因为正则表达式无法解析HTML。正则表达式不是一个可以用来正确解析HTML的工具。。。O̚本校的一个月月内,本校的一个月月内的一个月内,该校的一个月内的一个月内的一个月内的一个月内的一个月内的一个月内的一个月内的一个月内的一个月内的本本本本本本本校的本本本本本校的本本本本本本月月月内的本本本本月月月月月的本本本本本本月月月月月的本本本本本本本月月月月月月月的本本本本本本月月月月的本本本本本月月月的本本本本月月月月月月月月的本本本本本本月月月的8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8日日日日日日,本本本本本本本本本本本本本本本本本月月月月月月月月月月的本本本本本本本本本本̝͍M̲̖̒ͪͩͬͪ͜。。。
<a href="#" class="test1"><div class="test2">
<a onmouseover=' class="NotTheClass" ; funClassRotator(class) ; ' class="test3" href="#" ><div class="test4">
[0][0] = <a href="#" class="test1"><div class="test2"><a href="#" onmouseover=' class="NotTheClass" ; funClassRotator(class) ; ' class="test3">
[0][1] = test3