За последние 24 часа нас посетили 34155 программистов и 1709 роботов. Сейчас ищут 766 программистов ...

Вырезать ссылки из HTML

Тема в разделе "PHP для новичков", создана пользователем smala, 22 июн 2011.

  1. smala

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

    С нами с:
    11 янв 2011
    Сообщения:
    137
    Симпатии:
    0
    есть html страница, допустим такая

    HTML:
    1. <center>rgdgthkfjlgfhjkl;gujlgjkl.gjk,fdgh</center>
    2. <h1>dth,fy.</h1>
    3. <a href="http://www.ru/navsgf">srth</a>
    4. <h1>srtj</h1>
    5. <a href="http://www.ru/naeyh">dyjdty</a>
    6. <h1>wyjety</h1>
    7. <a href="http://www.ru/nadgh">dykj</a>
    8. <h1>wyjewty</h1>
    9. <a href="http://www.ru/nathll">blaeyuj</a>
    10.  
    11. </body>
    12. </html>
    я ипользовал file_get_contents для получения этого содержимого (ну допустим этого) вот как вытащить все ссылки если известно что они все имеют похожую часть "http://www.ru/na" я понимаю что нужно использовать цикл, понял уже как посчитать количество ссылок в документе, но как их все вывести неполучается у меня в общем (((( помогите христа ради
    [/code]
     
  2. smala

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

    С нами с:
    11 янв 2011
    Сообщения:
    137
    Симпатии:
    0
    тут наверно регулярными выражениями надо да??? и как эти выражения правильно в цикл загнать, и какой цикл лучше использовать ???
     
  3. tmvrus

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

    С нами с:
    9 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    Можно использовать PHP Simple HTML DOM Parser(http://simplehtmldom.sourceforge.net/)
    Прямо на первой странице решение твоей проблемы
    PHP:
    1.  
    2.  
    3. // Create DOM from URL or file
    4. $html = file_get_html('http://www.google.com/');
    5.  
    6. // Find all links
    7. foreach($html->find('a') as $element)
    8.        echo $element->href . '<br>';
    9.  
    10.  
     
  4. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1. <?php
    2. $text = ' <html>
    3. <body>
    4. <center>rgdgthkfjlgfhjkl;gujlgjkl.gjk,fdgh</center>
    5. <h1>dth,fy.</h1>
    6. <a href="http://www.ru/navsgf">srth</a>
    7. <h1>srtj</h1>
    8. <a href="http://www.ru/naeyh">dyjdty</a>
    9. <h1>wyjety</h1>
    10. <a href="http://www.ru/nadgh">dykj</a>
    11. <h1>wyjewty</h1>
    12. <a href="http://www.ru/nathll">blaeyuj</a>
    13.  
    14. </body>
    15. </html>';
    16.  
    17. preg_match_all('#"([url=http://www.ru/]http://www.ru/[/url][^"]+)"#sUi', $text, $matches);
    18.  
    19. echo '<pre>'.print_r($matches, true).'</pre>';