У меня есть этот простой код, чтобы получить название любой страницы <?php $doc = new DOMDocument(); @$doc->loadHTMLFile('http://www.facebook.com'); $xpath = new DOMXPath($doc); echo $xpath->query('//title')->item(0)->nodeValue."\n"; ?> Он отлично работает на всех страницах, которые я пробовал, но не в Facebook. Когда я пытаюсь в Facebook, он не отображается. Welcome to Facebook – Log In, Sign Up or Learn […]
Как удалить <br/> если текст не появился до или после него? Например, <p><br/>hello</p> <p>hello<br/></p> они должны быть переписаны так, <p>hello</p> <p>hello</p> Должен ли я использовать DOMxpath или regex, было бы лучше? (Примечание. У меня есть сообщение об удалении <p><br/></p> с DOMxpath раньше, а затем я столкнулся с этой проблемой!) РЕДАКТИРОВАТЬ: Если у меня есть это […]
Мне нужно найти все теги привязки, которые имеют тег img как дочерний элемент. Рассмотрим следующие случаи: <a href="test1.php"> <img src="test1.jpg" alt="Test 1" /> </a> <a href="test2.php"> <span> <img src="test2.jpg" alt="Test 2" /> </span> </a> Мое требование состоит в том, чтобы сгенерировать список атрибутов href вместе с src и alt т. alt $output = array( array( […]
Название подводит итог. Я пытаюсь запросить HTML-файл для всех тегов div, содержащих result класса, и не содержит grid классов. <div class="result grid">skip this div</div> <div class="result">grab this one</div> Благодаря!
Я использую этот пример для получения ссылок с веб-сайта: http://www.merchantos.com/makebeta/php/scraping-links-with-php/ $xpath = new DOMXPath($dom); $hrefs = $xpath->evaluate("/html/body//a"); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); var_dump($href); $url = $href->getAttribute('href'); echo "<br />Link stored: $url"; } Это работает хорошо; получение всех ссылок; но я не могу получить фактическое «название» ссылки; например, если […]
У меня есть одно решение проблемы темы, но это взлом, и мне интересно, есть ли лучший способ сделать это. Ниже приведен пример XML-файла и скрипта PHP CLI, который выполняет запрос xpath, заданный в качестве аргумента. Для этого тестового примера в командной строке: ./xpeg "//MainType[@ID=123]" Самое странное – это эта строка, без которой мой подход не […]
Я задал этот вопрос вчера, и в то время это было именно то, что мне было нужно, но, работая с некоторыми живыми данными, я обнаружил, что это не совсем то, что я ожидал. Разбор HTML с HTML-кодом HTML DOMDocument Он получает данные со страницы HTML, но затем также удаляет все теги HTML внутри захваченного блока […]
Итак, у меня есть HTML-строка вроде этого: <td class="name"> <a href="/blah/somename23123">Some Name</a> </td> <td class="name"> <a href="/blah/somename28787">Some Name2</a> </td> Используя XPath, я могу получить значение атрибута href, используя этот запрос Xpath: $domXpath = new \DOMXPath($this->domPage); $hrefs = $domXpath->query("//td[@class='name']/a/@href"); foreach($hrefs as $href) {…} И еще проще получить текстовое значение, например: // Xpath auto. strips any html […]
Я пытаюсь отказаться от некоторого контента с веб-сайта, но приведенный ниже код не работает (не показывая никакого вывода). вот код $url="some url"; $otherHeaders=""; //here i am using some other headers like content-type,userAgent,etc some curl to get the webpage … .. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $content=curl_exec($ch);curl_close($ch); $page=new DOMDocument(); $xpath=new DOMXPath($page); $content=getXHTML($content); //this is a tidy function to convert bad […]
Попытка решить, что более подходит для моего случая использования … После сравнения документации по этим методам мое смутное понимание evaluate возвращает типизированный результат, но query этого не делает. Кроме того, пример query включает в себя цикл через множество результатов, но пример evaluate предполагает один типизированный результат. Все еще не намного мудрее! Может ли кто-нибудь объяснить […]