PHP - получить тег от URL - PullRequest
       1

PHP - получить тег от URL

2 голосов
/ 24 августа 2011

Я хочу получить конкретный тег из URL, из примера:

Если у меня есть этот контент:

<div id="hey">
   <div id="bla"></div>
</div>

<div id="hey">
   <div id="bla"></div>
</div>

И я хочу получить все div с идентификатором "эй", (я думаю, что с preg_match_all), Как я могу это сделать?

  • Содержимое внутри тега может быть изменено.

1 Ответ

3 голосов
/ 24 августа 2011

Я рекомендую использовать DOMDocument класс вместо регулярных выражений (это менее потребляющий ресурсы и более понятный ИМХО).

$content = '<div id="hey">
   <div id="bla"></div>
</div>

<div id="hey">
   <div id="bla"></div>
</div>';

$doc = new DOMDocument();
@$doc->loadHTML($content); // @ for possible not standard HTML
$xpath = new DOMXPath($doc);
$elements = $xpath->query("//div[@id='hey']");

/*@var $elements DOMNodeList */
for ($i=0;$i<$elements->length;$i++) {
    /*@var $curr_element DOMElement */
    $curr_element = $elements->item($i);

    // Here do what you want with the element
    var_dump($curr_element);
}

Если вы хотите получить контент по URL, вы можетевместо этого используйте эту строку для заполнения переменной $ content:

$content = file_get_contents('http://yourserver/urls/page.php');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...