我有一个带有链接的字符串(如HTML中无序列表(a
中的<li>
元素)。如何使用正确的正则表达式进行解析?
我需要获取此值的数组:
[
"Керамическая плитка",
"Напольные покрытия"
]
基本HTML(示例):
<li><a href="/plitka/">Керамическая плитка</a></li>
<li><a href="/napolnye-pokrytiya/">Напольные покрытия</a></li>
<li><a href="/oboi/">Обои</a></li>
<li><a href="/mebel-dlia-vannoi/">Мебель для ванной</a></li>
<li><a href="/santehnika/">Сантехника</a></li>
非常感谢。非常感谢您的帮助!
答案 0 :(得分:2)
解析器是您应该使用的工具,而不是正则表达式。像这样:
<?php
$links = '<li><a href="/plitka/">Керамическая плитка</a></li>
<li><a href="/napolnye-pokrytiya/">Напольные покрытия</a></li>
<li><a href="/oboi/">Обои</a></li>
<li><a href="/mebel-dlia-vannoi/">Мебель для ванной</a></li>
<li><a href="/santehnika/">Сантехника</a></li>';
$dom = new domdocument();
$dom->loadhtml('<?xml encoding="utf-8" ?>' . $links);
$links = $dom->getelementsbytagname('a');
foreach($links as $link) {
echo $link->nodeValue . PHP_EOL;
}
可以检索a
的节点值。如果路径更具体,请使用xpath
。