Я пытаюсь взломать некоторый код боковой панели в шаблоне Wordpress, который я разрабатываю. В основном я захватил то, что мне нужно в выходном буфере, и я запустил regex над ним, чтобы заменить бит кодом, который мне нужен. Проблема в том, что мои знания в регулярном выражении - это немного краткое из того, что мне нужно достичь.Использование preg_replace без уничтожения информации об идентификаторе
Проблема у меня как таковой:
$output = preg_replace('/<\/li><li id=".*?" class="widget-container/', '<a href="top">Top</a></li><li><li id="[item from that find]" class="widget-container/', $input);
На данный момент, как код стоит я могу найти то, что мне нужно, но он разрушает те атрибуты ID, как я не могу захватить их.
Я уверен, что я могу сделать это, чтобы захватить и использовать его в замене, но я не могу найти ничего, что подскажет мне, что мне нужно, или если я ошибаюсь с preg_replace.
Как я могу использовать это для изменения кода без уничтожения этих уникальных идентификаторов?
Cheers guys!
Не следует использовать регулярное выражение для анализа HTML: http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html – ircmaxell
Интересное чтение и имеет смысл. Посмотрите на использование парсера HTML, такого как PHPquery, в ближайшем будущем, чтобы заменить грязный метод регулярного выражения, который я использую. Спасибо, что привлекли статью к моему вниманию! – Leonard