Показать сообщение отдельно

  #2  
Старый 30.03.2009, 10:53
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от m0Hze  
Вспомнил,у меня проблема на днях была,вот решил пока помню узнать решение.
Имеем страниичку,полученую курлом,нужно все src=img/img.jpg заменить на src=http://host.ru/img/img.jpg
Сталкнулся с проблемой.
Деле так:
[php title=Code]
preg_match_all('|src="(.*?)"|Ui', $page, $src);
for ($i = 0; $i < count($src[1]); $i++) {
if (!strpos($src[1][$i], "://")) {
//echo $src[1][$i];
$page = str_replace($src[1][$i], $host.$src[1][$i], $page);
}
}
[/php]
Но работает немног оне так как нужно.Гуру,подскажите,а то заняться нечем,,решил дописать.
во первых preg_match_all пишется со строчной а не с прописной )
во вторых.. |Ui - напомни что означает модификатор U ? никогда им не пользовался чесгря.. i - это в любом регистре, U - не помню, в ман лезть лень.. я пользуюсь обязательно модификатором l - это позволяет искать в многострочном документе
втретьих src="(.*?)".. гм.. а если будет одинарная кавычка? или вообще не будет ее?? работать явно не будет..

Код HTML:
if (!strpos($src[1][$i], "://")) {
зачем ищется :// ??? картинка может быть внешняя же? ) http://image.jpg уже не пройдет..

гм.. будем это доделывать или перепишем?
 
Ответить с цитированием