За последние 24 часа нас посетил 16121 программист и 1666 роботов. Сейчас ищут 919 программистов ...

DOMDocument::loadHTML

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

  1. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    как проверить если страница не существует\не загрузилась
    Код (Text):
    1. $doc = DOMDocument::loadHTML($site);
    2. if (???) {
    3. echo "error";
    4. } else {
    5. echo "ok";
    6. }("$site");
     
  2. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
  3. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    это я читал, дык как прописать - if?
    куда идёт возврат false DOMDocument? или LoadHTML? пробывал и с тем и с этим
    т.е. надо if(LoadHTML==false) ???
    у меня идёт всё пишет Warning: DOMDocument::loadHTML() Empty string supplied as input in .
    т.е. фалс он обходит....
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Неужели попробовать тяжелее, чем настрочить пост со 149 знаками?
     
  5. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    На форум сам не пишу никогда, пока методом професионального тык не попаду... вот тут что то не получаеться...
     
  6. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Что в переменной $site содержится? Как оно туда попадает? Пробовали насильно задать
    PHP:
    1. $site = "<html><body>Test<br></body></html>";
    ?
    Что-то мне подсказывает, что у вас
    PHP:
    1. $site = "http://www.server.com/index.html";
     
  7. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    да у меня идёт так:
    Код (Text):
    1. <?PHP
    2.     $code = "http://web.site.ru";
    3.     $doc = new DOMDocument();
    4.     $doc->LoadHTML($code);
    5. if (LoadHTML == true) {
    6. echo "ok";
    7. }else{
    8. echo "error";
    9. }
    10.  
    11. ?>
    дык как условие граматно поставить? т.е. если сайта такого нет
     
  8. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Я не зря вам дал две ссылки, а не одну. Если бы вы внимательно прочитали обе, то узнали бы, что $doc->LoadHTML читает только из переменной. Это значит, что всё что вы получаете = http://web.site.ru, вместо HTML кода расположенного по этому адресу. А если бы вы сделали $doc->LoadHTMLFile то у вас всё бы уже работало.
    Чтобы сделать проверку - достаточно указать:
    PHP:
    1. $test = $doc->LoadHTMLFile($code);
    2. if ($test) {
    3. echo "ok";
    4. } else {
    5. echo "error";
    6. }