Как найти контент с помощью регулярного выражения PHP - PullRequest
0 голосов
/ 29 апреля 2011

Я хочу найти содержимое внутри DIV.Я просто хочу указать идентификатор DIV;остальное автоматически настраивается под preg_match.Например:

<div id="midbuttonarea" etc...>some text...</div>

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Брентон прав. Во всяком случае, здесь у вас есть:

<?php
   function findDivInnerHtml($html, $id){
      preg_match("/<div .* id=\"{$id}\" .*>(.*)<\\/div>/i", $html, $matches);
      return $matches[1];
   }
?>

Пример использования:

<?php
   $html = '<div id="other"> xxx </div>  <div id="midbuttonarea" etc...>some text...</div> ';
   $innerHTML = findDivInnerHtml($html, 'midbuttonarea');       
   echo $innerHTML; //outputs "some text..."
?>

Надеюсь, это поможет.

1 голос
/ 29 апреля 2011

С гораздо большей вероятностью вы получите хороший результат, используя анализатор HTML для анализа HTML вместо Regex.С Regex очень сложно разобрать HTML, и результат может быть не очень надежным.

Проверьте принятый ответ на этот вопрос: Как анализировать и обрабатывать HTML / XML в PHP? некоторые предложения о том, как это сделать.

...