Я пытаюсь извлечь адрес и номер телефона из HTML-кода.PHP preg_match для извлечения адресов из html-кода
Сначала я получаю содержимое адреса-контейнера из содержимого страницы. preg_match('/id="member-addresses".*?<\/div>/is', $webpage, $contact_details);
Это возвращает этот
id="member-addresses">
<h2>Contact details</h2>
<h3 id="foobar">Work</h3>
<p>
123 Fake Street, Main Area, PG42 TGJ<br />
Tel: 020 9 555 42589<br />
</p>
</div>
Теперь я хочу, чтобы получить рабочий адрес.
preg_match('/Work</h3><p>.*?<br \/>/', $contact_details[0], $address_work);
Это ничего не возвращает. Что с этим не так.
Использование регулярного выражения для синтаксического анализа HTML - это [плохая идея] (http://stackoverflow.com/a/1732454/2370483) – Machavity
Каков наилучший способ сделать это? –
Помимо регулярного выражения существует несколько способов сделать это. http://php.net/manual/en/domdocument.loadhtml.php http://php.net/manual/en/book.simplexml.php (если он действителен xhtml) есть также добавить в библиотеки, которые вы можете Добавить. – chris85