регулярное выражение, чтобы удалить якорь с определенным классом и его содержимым? - PullRequest
0 голосов
/ 22 февраля 2011
<a class="rsswidget" href="http:/domain.com/feed/" title="RSS">
<img style="border:0" width="14" height="14" src="http://domain.com/images/rss.png" alt="RSS">
</a>

Какое регулярное выражение мне нужно, чтобы избавиться от всего этого якоря, включая изображение внутри?К сожалению, я регулярный пользователь noob и поэтому мне нужна ваша помощь.Большое спасибо.

return preg_replace('#<a+class="rsswidget"[^>]*>.*?</a>#is', '', $content);

1 Ответ

3 голосов
/ 22 февраля 2011

Это почти верно. Но + дает количественную оценку только a. Вы хотели использовать [^>]+ в этой позиции:

preg_replace('#<a[^>]+class="rsswidget"[^>]*>.*?</a>#is',

Чтобы избежать любых регулярных выражений для голосования по-любому, это будет альтернатива QueryPath :

return qp($html)->find("a.rsswidget")->remove()->writeHTML();
...