Я прочитал свой собственный сайт с file_get_contents
для отображения определенного текста. Я показываю данные из интервью, и я хочу получить заголовок интервью и время использовать его на другом сайте (ссылка на интервью).preg_match_all чтение sitesource несколько строк и совпадений
Соответствующий блок кода находится в таблице.
<td>
Interview 1
<small style="color:gray">
Persons 2
Cameras 2
</small>
</td>
<td>
1018 min
</td>
Как вы можете видеть, Interview 1
является заголовок и время 1018
. Я попробовал это самостоятельно, но каким-то образом картина немного сумасшедшая.
preg_match_all('#<td>\s*(.+?)\s*<small style="color:gray">\s*<\/small>\s*<\/td><td>\s*(.+?)\s*<\/td>#is', $mysite, $match)
Я использовал \s*
для разрывов строк и пробелов и (.+?)
, чтобы соответствовать. Что случилось с моим шаблоном поиска?
Вы должны смотреть, чтобы РНР [DomDocument] (http://php.net/manual/en/class .domdocument.php). Использование регулярного выражения на HTML редко работает так, как ожидалось. –
Вообще нехорошо разбирать xml/html с регулярным выражением. Это может привести к неожиданному поведению, как вы заметили. – Andreas
Обязательная ссылка на http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – ShiraNai7