За последние 24 часа нас посетили 58513 программистов и 1780 роботов. Сейчас ищут 903 программиста ...

Раcпарсинг HTML как XML при помощи SimpleXML

Тема в разделе "PHP для новичков", создана пользователем Neka, 16 янв 2010.

  1. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Доброго времени суток!
    У меня никак не получается распарсить HTML средствами SimpleXML. Подробнее:
    Я через cURL получаю HTML-код страницы в переменную $content, прибавляю
    Код (Text):
    1. '<?xml version="1.0" encode="windows-1251" ?>'.$content
    Начало HTML-кода выглядит так (написано стандарт XHTML, даже по одиночным тегам заметно):
    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
    3. <head>
    4. <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    5. <meta http-equiv="content-language" content="ru" />
    Структура DOM => скормление SimpleXML-монстру...
    Точный текст ошибок привести не могу, т.к. переписал под разбор регулярными выражениями. Так что по памяти:
    Ошибка 1: отсутствует '<' тэг в строке 1
    Ошибка 2: точно не помню, но указывает на строку текста, который в <script language="JavaScript" type="text/javascript"> (незакомментирован <!-- [...] //-->) и сдержит символ [ " ].
    Остальные ошибки схожи с Ошибкой 2.
    Вопрос, как автоматом выводить вот такие мелкие ошибочки, чтобы SimpleXML на еду не ругался?)