Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: pattern за eregi replace
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: mx_starter Дата: 06/30/2005
 Хич ме няма в regular expessions, затова ще помоля за малко
помощ:

 Имам следния текст от HTML сорс и искам всички пътища до
КАРТИНКИТЕ да станат абсолютни:
--
 <img width="10" height="10"
src="/directory/image_name_1.gif">
 <img src="/directory/image_name_2.gif" width="15"
height="15">
<img alt="img3" src="directory/image_name_3.gif">
<iframe src="http://www.domain.com">
--

например - първия ред да стане:
 <img width="10" height="10"
src="http://www.domain.tld/directory/image_n...

Как да го направя с eregi_replace от РНР?
 Текстът може да съдържа произволен брой <img> тагове - а
 също така може и да съдържа картинки с абсолютни пътища,
които не бива да се пипат?
Някакви предложения?


Отговор #1
От: gugko Дата: 06/30/2005
Какво общо има това с Линукс??????
http://tutor.hit.bg/
http://htmlgoodies.earthweb.com/

И накрая:

http://www.linux-bg.org/cgi-bin/y/index...



Отговор #2
От: mx_starter Дата: 07/01/2005
Зарежи в такъв случай...
 То сигурно и Web Development секцията във форума няма нищо
общо с Линукс по твоята логика.
Извинявай че ти загубих времето.
Баста.


Отговор #3
От: slave Дата: 07/01/2005
$fp = fopen("index.html","r");
$tmp = fopen("index1.html","w");

 /* измисли си как да ти взема URL-to от iframe, за да не е
статично зададено */

$web = 'src="http://www.domain.com';
$patten = 'src="';
while(!feof($fp))
{
 $str = fgets($fp);
 if(eregi("img",$str)
  {
    $str = eregi_replace($patten,$replace,$str);
  }
 fputs($tmp,$str);
}
fclose($fp);
fclose($tmp);

 Извинявам се ако има грешки и сигурно има какво да му се
 оптимизира за да работи по-добре за конкретния случай. Срещу
една скромна сума може да се направи нещо по въпроса.


Отговор #4
От: mx_starter Дата: 07/01/2005
Благодаря, Slave - само че вече съм минал по този път и
търсех нещо по-универсално :-))
 Така направено както си го написал, няма да работи винаги -
 защото проверяваш ред по ред и ако например един ред отваря
 <img таг-а, а 'src=' е на следващия ред - тогава ще го
пропуснеш.
Аз между другото си реших проблема, макар и по заобиколен
начин. Но ми е интересно как да направя следното:
в примера отгоре имам 3 тага <img и също толкова 'src='.
В такъв случай израза:
eregi_replace("<img.*src=", \\0http://www.domain.com, $str)
 ще прихване всичко от първия <img таг до последното срещане

 на 'src=' - i saotvetno ste dobavi URL-a samo na poslednoto

srestane na SRC=.
 Taka che na men mi triabva regexp, koito da tursi v stringa 
chasti zapochvasti s '<img', zavursvasti na 'src=' i NE
SADURZASTI drugo '<img' po sredata.
 Togava spored men ste sraboti kakto triabva - no ne znam
kak
  da zabrania v izraza turseneto na vtoro srestane na '<img'
v otriazaka.
Nadiavam se go obiasnix kakto triabva?


Отговор #5
От: slave Дата: 07/01/2005
Държиш ли да е на PHP ?
С perl мисля, че по-лесно ще стане.


Отговор #6
От: mx_starter Дата: 07/01/2005
 Да, трябва ми РНР - но както казах, реших си проблема по
 друг начин (също с РНР)- макар да ми се иска да стане по
елегантно.

 Просто би било полезно да се изнамери шаблона, който би
решил задачата на един ред :-))

Още веднъж ти благодаря.


<< ПОПРАВКА НА Gnu Linux ??? (2 ) | A-OPEN notebook и LINUX (0 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 1 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU)