у меня есть данные, как такpreg_match в фигурных скобках с необязательным существование дополнительного содержимого в фигурных скобках иногда
$data = '<a href="not important"><span class="theclass">data (not important)</span></a> <span class="anotherclass">extra data (October 1, 2010)</span>';
я хочу, чтобы получить дату в фигурных скобках, так ив сделал следующее preg_match
preg_match("/\((([a-zA-Z]{5,10} .*?)|(\d{4}))\)/i",$data,$res);
, пожалуйста, не что иногда «1 октября» нет, НО ГОД ВСЕГДА ПРЕДСТАВЛЯЕТ, следовательно, условие ИЛИ ... вещь в этом случае дает мне массив из 3, я знаю его из-за набора из трех брекетов, которые у меня есть для каждого условие, есть ли другой лучший и более чистый способ достичь этого?
второе условие метод
$data = <a href="not important"><span class="theclass">data</span></a> <span class="theother">data <a href="not importand">data</a> (2009)</span>
</h3>
Спасибо, ребята
** Не используйте регулярные выражения для анализа HTML. Используйте подходящий модуль синтаксического анализа HTML. ** Вы не можете надежно проанализировать HTML с регулярными выражениями, и вы столкнетесь с печалью и разочарованием в будущем. Как только HTML изменится с ваших ожиданий, ваш код будет сломан. См. Http://htmlparsing.com/php для примеров того, как правильно анализировать HTML с PHP-модулями, которые уже были написаны, протестированы и отлажены. –
, даже если я использую say xpath dom, мне все равно нужен класс ref by with, он может получить данные. это почти то же самое, что и с preg_match, задолго до нижнего прега, поэтому я не понимаю, почему люди против этого ... это то, что другие более легкие? – Anup