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

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

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

 

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

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

тема: Скрипт то работает, то не работает???
 
 автор: Na100yashyi   (30.10.2007 в 21:24)   письмо автору
 
 

Непойму в чем ошибка, скрипт напрочь отказывается работать по прописанной ссылке, хотя сама статья расположена именно по этому адресу, выводится только заголовок, а все тело статьи куда-то исчезает, текста попросту нет, в чем загвоздка? Тоже самое и по ссылкам:
http://www.liteforex.net/litetext.php?liteid=1136
http://www.liteforex.net/litetext.php?liteid=1137
а вот по всем остальным, в частности и по следующей:
http://www.liteforex.net/litetext.php?liteid=1138
работает нормально, в чем проблема, обьясните пожалуйста!

<?php 
$link 
"http://www.liteforex.net/litetext.php?liteid=1135";
$text file_get_contents($link); 
preg_match_all("|<td  class=ib_br_md  width=100%><b>(.+?)</b>.*?</td>|is",$text,$out); 
print 
strip_tags($out[0][0],"<b></b>")."<p>"
print 
strip_tags($out[0][1],"<b></b>")."<p>"
$exp=strip_tags($out[0][2],"<br><b></b><a>"); 
$exp=preg_replace("|<a href= (images/analytic/[^\s]+)\s.*?[^>]+>|","[img]http://www.liteforex.net/$1[/img]",$exp); 
print 
$exp
?>

   
 
 автор: Na100yashyi   (30.10.2007 в 21:41)   письмо автору
 
   для: Na100yashyi   (30.10.2007 в 21:24)
 

Кое в чем разобрался, в коде страницы идет следующее:

... <br><b>Технический анализ</b>
<br>
<br><b>Дневной график</b>
<br> ...

т.е. по сути тег [b] лишний раз используется, если изменить структуру на следующую, то все отлично работает:

... <br><b>Технический анализ
<br>
<br>Дневной график</b>
<br> ...

т.е. я убрал <b> и </b>, помогите исправить регулярное выражение, чтобы оно не останавливалось перед таким кодом.

   
 
 автор: Faraon   (31.10.2007 в 08:46)   письмо автору
 
   для: Na100yashyi   (30.10.2007 в 21:41)
 

<?php
$link 
"http://www.liteforex.net/litetext.php?liteid=1135";
$text file_get_contents($link);
preg_match_all("|<td  class=ib_br_md  width=100%>.*?<b>(.+?)</b>.*?</td>|is",$text,$out);
print 
strip_tags($out[0][0],"<b></b>")."<p>";
print 
strip_tags($out[0][1],"<b></b>")."<p>";
$exp=strip_tags($out[0][2],"<br><b></b><a>");
$exp=preg_replace("|<a href=(images/analytic/[^\s]+)\s.*?[^>]+>|","[img]http://www.liteforex.net/$1[/img]",$exp);
print 
$exp;
?>

   
 
 автор: Na100yashyi   (10.12.2007 в 22:42)   письмо автору
 
   для: Faraon   (31.10.2007 в 08:46)
 

Опять проблема!
Теперь в шапке статей прописалось долгожданное время выхода следующего вида:

...
<b>Время публикации:</b> 2007-12-10 07:08:39</td><td class=ib_br_rg>
...

и скрипт теперь снова в нерабочем состоянии, что нужно исправить?
Заранее благодарен!

   
 
 автор: exp   (11.12.2007 в 01:27)   письмо автору
 
   для: Na100yashyi   (10.12.2007 в 22:42)
 

может если сделать просто цикл дольше будет работать

<?php  
$link 
"http://www.liteforex.net/litetext.php?liteid=1135"
$text file_get_contents($link);  

preg_match_all("|<td  class=ib_br_md  width=100%>((?!<img).+?)</td>|is"$text$text);  

$text $text[1];
$i = -1;
$count count($text) - 1;
while((
$i++) < $count)
{
if (
$i == $count) echo preg_replace("|<img src='?(images/analytic/[^'\s]+)'? ?[^>]*?>|","[img]http://www.liteforex.net/$1[/img]"$text[$i]) . "\n" ;  
else echo 
$text[$i] . "<br>\n";  
}
?> 


//
забыл приделать strip_tags():)

   
Rambler's Top100
вверх

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