спарсить html

Статус
В этой теме нельзя размещать новые ответы.

lena berkova

Местный житель
Регистрация
14 Янв 2009
Сообщения
437
Реакции
21
уважаемые подскажите решение. есть хтмл документ. я его гружу в объект через str_get_html класса simple_html_dom, затем я выбираю все элементы формы через find( 'input' ). мне возвращается массив элементов примерно такой структуры
<input type=hidden name=pid value='1426'>
вопрос- как красивее всего получить значение поля по его имени? т.е. както так if ( item['pid'].value=='1426')
про регулярные выражения знаю, про strpos тоже, но хочется на уровле хмл атрибутов т.е. задать имя поля и получить значение
подозреваю что можно через этот же класс сделать, только как?
 
Можно использовать CSS селекторы:

find('input[name=нужное имя]')
 
Быстрее работать с регулярными выражениями.
У самого стояла задача рекурсивного грабинга таблиц. Отказался от ф-ии которую вы используете.
 
уважаемые подскажите решение. есть хтмл документ. я его гружу в объект через str_get_html класса simple_html_dom, затем я выбираю все элементы формы через find( 'input' ). мне возвращается массив элементов примерно такой структуры
<input type=hidden name=pid value='1426'>
вопрос- как красивее всего получить значение поля по его имени? т.е. както так if ( item['pid'].value=='1426')
про регулярные выражения знаю, про strpos тоже, но хочется на уровле хмл атрибутов т.е. задать имя поля и получить значение
подозреваю что можно через этот же класс сделать, только как?
Тебе нужно для конкретного поля или для всех полей получить значение по имени?
 
Вы же получаете, вот и парсите его регуляркой. Был бы XML, тогда симпл используйте :)
друг, это не simplexml, а либа на php написанная, как раз для разбора документов html, в том числе и невалидных
 
Я тоже советую через регулярные выражения парсить -- это и кода меньше и работать быстрее будет (если нормальные рег выражения писать)
 
Скажите, пожалуйста, а можно ли спарсить результат обработки AJAX формы, предварительно про-POST'ив форму при помощи CURL'а? Искала решение, и нашла PHP Class XMLHttpRequest, который, как говорят авторы, делает то, о чём идёт речь. Поставила, значит, класс этот, запарсила по экземплу с офф сайта транслэйтор гугля - работает, но вот целевой адрес - нифига. :mad::eek: Помогите!!!
Пример:
PHP:
<?php
        require_once('class.XMLHttpRequest.php'); 
        $ajax = new XMLHttpRequest();
        $ajax->open("POST","http://www.google.com/translate_t" );
        $ajax->send("langpair=pt|en&text=cachorro");
        if($ajax->status == 200){
                echo $ajax->responseText;
        }else echo "ERROR: $ajax->status";
?>

Целевой адрес:

PHP:
<?php
        require_once('class.XMLHttpRequest.php'); 
        $ajax = new XMLHttpRequest();
        $ajax->open("POST","http://ru.savefrom.net" );
        $ajax->send("sf_url=(видеосервис тут)");
        if($ajax->status == 200){
                echo $ajax->responseText;
        }else echo "ERROR: $ajax->status";
?>

Понятно дело, что само по себе оно работать не будет, и нужно вносить какие-то корректировки...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху