Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечение ссылок из HTML-кода
 
 автор: SnooPI   (14.05.2007 в 19:21)   письмо автору
 
 

Здравствуйте...
Вообщем вопросик по парсингу сайтов:)
Допустим на сайте есть такое:

<a href="lala-471">Document 1</a><br/>
<a href="lala-4763">Document 2</a><br/>
<a href="lala-231">Document 3</a><br/>

Вообщем много ссылок на странице...
так вот как мне вывести эти ссылки и названия документов?

А то делаю вот так:

$ll = file_get_contents('url');
if(preg_match("#<a href=\"(.*)\">(.*)</a>#isU", $ll, $out))
    echo $out[1]."  >::::< "$out[2]."<br>";

так вот этим кодом выводит только первую ссылку и документ..
Хочу сделать все.....подскажите как?
Может оператором for или еще как-нить:)

   
 
 автор: bronenos   (14.05.2007 в 19:24)   письмо автору
 
   для: SnooPI   (14.05.2007 в 19:21)
 

замените (.*) на (.*?)

   
 
 автор: Trianon   (14.05.2007 в 19:34)   письмо автору
 
   для: SnooPI   (14.05.2007 в 19:21)
 

а)Вы неудачно выбрали разделитель столбиков при выводе. Он формирует теги, чего Вы от него не ожидаете.
б) Вы почему-то смотрите в браузер, в то время как нужно смотреть сгенерированный html-код.


<?php 
//$ll = file_get_contents('url');
$ll '<a href="lala-471">Document 1</a><br/>
<a href="lala-4763">Document 2</a><br/>
<a href="lala-231">Document 3</a><br/>'
;

if(
preg_match_all("#<a href=\"(.*)\">(.*)</a>#i"$ll$outPREG_SET_ORDER))
    foreach(
$out as $row) echo $row[1]."  :::: ".$row[2]."<br>";

?>

   
 
 автор: SnooPI   (14.05.2007 в 19:53)   письмо автору
 
   для: Trianon   (14.05.2007 в 19:34)
 

Спасибо работает, а как сделать чтобы эти сссылки у меня выводились норм, а не как ссылки?? Т.е. просто текстом ?:)

   
 
 автор: Trianon   (14.05.2007 в 20:16)   письмо автору
 
   для: SnooPI   (14.05.2007 в 19:53)
 

а как они у Вас выводятся сейчас?
И почему название темы - file_get_contents?

   
 
 автор: Poison   (14.05.2007 в 22:09)   письмо автору
 
   для: SnooPI   (14.05.2007 в 19:53)
 

htmlspecialchars(); - Выведет просто HTML код.

   
 
 автор: SnooPI   (15.05.2007 в 00:45)   письмо автору
 
   для: Poison   (14.05.2007 в 22:09)
 

Все та проблема решена:)
Скажите пожалуйста...как сделать чтобы вывести не все ссылки на странице а первые допустим 5 ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования