使用preg_match函数,我想从下面的html字符串中找到数字30899。
我使用了下面一行代码:
preg_match("/<a ?.* onclick=\"cms4i.models.dealersearch.view.navigate\('DETAIL', '(.*)'\);\" class=\"partner_name link\">Zentrum GmbH Standort<\/a>/i", $data, $matches);
它没有返回任何匹配的字符串,尽管$data在这里有30899。
$data变量如下:
<li class="partner_teaser clearfix">
<div class="partner_gutter">
<a href="#" onclick="cms4i.models.dealersearch.view.navigate('DETAIL', '30899');" class="counter link">01</a>
<i class="icon_car" title="Partner (Verkauf)">Partner (Verkauf)</i>
<i class="icon_spanner" title="Partner (Service)">Partner (Service)</i>
</div>
<div class="partner_summary">
<a href="#" onclick="cms4i.models.dealersearch.view.navigate('DETAIL', '30899');" class="partner_name link">Zentrum GmbH Standort</a>
<div>Franklinstraße 24</div><div>10587 City</div>
<div>5,4 km</div>
<a href="#" onclick="cms4i.models.dealersearch.view.navigate('DETAIL', '30899');" class="link link_a1">Auf Karte anzeigen</a>
</div>
</li>
虽然我早些时候解决了这类问题,但我找不到如何从这个字符串中找到这些数字的方法。我相信专家能很快找到解决办法。
怎么样?
preg_match('/<a (.*) onclick=/', $data);
正如我所看到的,您正在搜索导航
方法中的参数数字。因此,您可以尝试:
preg_match_all('/\.navigate\([a-zA-Z\,\s\']+([0-9]{3,})\'\);" class="partner_name link"\>Zentrum GmbH Standort\<\/a\>/', $html, $matches);
print_r($matches[1]);
输出:
Array
(
[0] => 30899
[1] => 30899
[2] => 30899
)
然后,如果可能有多个唯一的数字,则可以排除重复的数字。如果不是,只提取一个数字,而不是全部。
我试图创建一个preg_匹配,在HTML文档中查找一系列标记。 HTML示例: 我需要找到带有div class=“importantclass”的标签和一个包含特定指针文本的后续p标签的组合。 然后我需要返回开始div类的位置。注意:我不想获得匹配,因为importantclass div第一次出现。 有没有可能不使用DOM而只使用regexp来实现这一点? 谢谢你的提示!
我在vim中使用这个正则表达式搜索和替换命令从每个匹配的id中减去一个常量。 我可以在VSCode中查找正则表达式,但如何引用数学的子匹配 谢谢。
问题内容: 我可以这样做: 但是,鉴于使用XPath可以简单地查询并完成它的事实,这似乎是微不足道的。 在IE9 +,Safari5 +,Chrome19+,Firefox12+,Opera11+上运行的HTML文档中,在特定元素下获取所有文本节点的最简单方法是什么? “最简单”被粗略地定义为“高效而又短,没有打高尔夫球”。 问题答案: 根据@kennebec的回答,该逻辑的实现略为严格: 但是,
问题内容: 我对正则表达式很陌生。您能帮我创建一个匹配整个单词,包含特定部分的模式吗?例如,如果我有一个文本字符串“执行正则表达式匹配”,并且如果我搜索 express ,它将给我 expression ;如果我搜索 form ,它将给我 Perform 等。有这个主意吗? 问题答案: 哪里: 是单词边界 是一个或多个“单词”字符* 是零个或多个“单词”字符 有关PCRE的信息,请参见有关转义序列
问题内容: 正则表达式使用PHP中的preg_match查找多次出现的相同字符串的正确语法是什么? 例如,查找以下段落中是否在TWICE中出现以下字符串: 问题答案: 您要使用。这就是代码中的样子。实际函数返回找到的项目数,但数组将保存结果: 将输出: 找到2个匹配项
我需要在文本中找到一些字符串后,在括号内的关键字第一次出现。下面是文本示例: Lorem ipsum dolor sit amet,consectetur adipisising elit,sed do eiusmod tempor incidunt ut labore et dolore magna aliqua。===第一个关键字===veniam,{{文本需要得到}}ullamco labo