PHP анализирует строки HTML на основе имени класса - PullRequest
4 голосов
/ 26 сентября 2011

Как получить все строки с определенным именем класса, например:

<tr class="dailyeventtext" bgcolor="#cfcfcf" valign="top">

и затем поместить каждую ячейку в этой строке в массив?

Я использовал cURL, чтобы получить страницу с сервера клиента.

Ответы [ 2 ]

7 голосов
/ 26 сентября 2011
$matches = array();

$dom = new DOMDocument;

$dom->loadHTML($html);

foreach($dom->getElementsByTagName('tr') as $tr) {
    if ( ! $tr->hasAttribute('class')) {
       continue;
    }

    $class = explode(' ', $tr->getAttribute('class'));

    if (in_array('dailyeventtext', $class)) {
       $matches[] = $tr->getElementsByTagName('td');
    }

}
1 голос
/ 26 сентября 2011

На вопрос «Как мне разобрать HTML с PHP / regex / etc» уже есть несколько ответов. Пожалуйста, ищите, прежде чем задать вопрос. Тем не менее, вот некоторые ресурсы:

И я рекомендую использовать DOMDocument и DOMXPath, как показано здесь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...