есть html страница, допустим такая HTML: <html> <body> <center>rgdgthkfjlgfhjkl;gujlgjkl.gjk,fdgh</center> <h1>dth,fy.</h1> <a href="http://www.ru/navsgf">srth</a> <h1>srtj</h1> <a href="http://www.ru/naeyh">dyjdty</a> <h1>wyjety</h1> <a href="http://www.ru/nadgh">dykj</a> <h1>wyjewty</h1> <a href="http://www.ru/nathll">blaeyuj</a> </body> </html> я ипользовал file_get_contents для получения этого содержимого (ну допустим этого) вот как вытащить все ссылки если известно что они все имеют похожую часть "http://www.ru/na" я понимаю что нужно использовать цикл, понял уже как посчитать количество ссылок в документе, но как их все вывести неполучается у меня в общем (((( помогите христа ради [/code]
тут наверно регулярными выражениями надо да??? и как эти выражения правильно в цикл загнать, и какой цикл лучше использовать ???
Можно использовать PHP Simple HTML DOM Parser(http://simplehtmldom.sourceforge.net/) Прямо на первой странице решение твоей проблемы PHP: // Create DOM from URL or file $html = file_get_html('http://www.google.com/'); // Find all links foreach($html->find('a') as $element) echo $element->href . '<br>';
PHP: <?php $text = ' <html> <body> <center>rgdgthkfjlgfhjkl;gujlgjkl.gjk,fdgh</center> <h1>dth,fy.</h1> <a href="http://www.ru/navsgf">srth</a> <h1>srtj</h1> <a href="http://www.ru/naeyh">dyjdty</a> <h1>wyjety</h1> <a href="http://www.ru/nadgh">dykj</a> <h1>wyjewty</h1> <a href="http://www.ru/nathll">blaeyuj</a> </body> </html>'; preg_match_all('#"([url=http://www.ru/]http://www.ru/[/url][^"]+)"#sUi', $text, $matches); echo '<pre>'.print_r($matches, true).'</pre>';