Мы решили это следующим образом:
Парсер - это инструмент, который вы должны использовать, а не регулярное выражение. Примерно так:
<?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
.