Я использую php, и мне нужно почистить некоторую информацию из некоторых откликов на сайт.я имитирую как ajax-запрос от браузера, так и обычный (весь) запрос страницы браузером, однако ajax-ответ немного отличается от всего запроса страницы в этом разделе html.
ajax-ответаэто: <div id="accountProfile"><h2>THIS IS THE BIT I WANT</h2><dl id="accountProfileData">
однако нормальный ответ: <div id="accountProfile"><html xmlns="http://www.w3.org/1999/xhtml"><h2>THIS IS THE BIT I WANT</h2><dl id="accountProfileData">
т.е. в ответе ajax отсутствует тег: <html xmlns="http://www.w3.org/1999/xhtml">
.мне нужно получить биты между тегами h2
.очевидно, я не могу просто почистить страницу для <h2>THIS IS THE BIT I WANT</h2><dl id="accountProfileData">
, поскольку эти теги могут встречаться в других местах и не содержать нужной мне информации.
Я могу сопоставить любой из шаблонов по отдельности, однако я бы хотелсделать оба в одном регулярном выражении.Вот мое решение для сопоставления ответа ajax:
<?php
$pattern = '/\<div id="accountProfile"\>\<h2\>(.+?)\<\/h2\>\<dl id="accountProfileData"\>/';
preg_match($pattern, $haystack, $matches);
print_r($matches);
?>
Может кто-нибудь показать мне, как я должен изменить шаблон, чтобы при желании также соответствовать тегу <html xmlns="http://www.w3.org/1999/xhtml">
?если это поможет упростить стог сена для краткости, это нормально.