Avatar billede binderup Nybegynder
05. marts 2003 - 14:42 Der er 5 kommentarer og
1 løsning

Problem med eregi_replace

$string=eregi_replace("<(.*)src=\"(.*)\"(.*)>","<\\1src=\"$this->site_root\\2\"\\3>",$string);

ovenstående string bruger jeg en class jeg er ved at lave problemet med den er at den ikke erstatter alle forkomster af det den skal søge efter, selv om disse overholder søgekriteriet.

Er der nogen der har de vise sten til dette?
Avatar billede Slettet bruger
05. marts 2003 - 14:53 #1
"<(.*)src=\"(.*)\"(.*)>"<---- starter ved første tag og fortsætter indtil første src=\"

Prøv med noget i stil med:
$string = eregi_replace("<([^>\\n]*)src=\"(.*)\"(.*)>","<\\1src=\"$this->site_root\\2\"\\3>",$string);
Avatar billede binderup Nybegynder
05. marts 2003 - 14:59 #2
det gjorde ikke andet end at den nu ikke matchede noget andet end før
Avatar billede Slettet bruger
05. marts 2003 - 15:11 #3
How about this?
<?php
$string = "<b>
<hr> <img alt=\"hoho\" src=\"whatever\" bla bla> <div></div><img alt=\"bla\" src=\"bla\"> <b>test</b>
<img alt=\"bla\" src=\"bla\" id=\"test\">
<i>bla</i>";
$root="http://www.whatever.dk/";
$string=eregi_replace("<([^>]*)src=\"([^\"]*)\"","<\\1src=\"$root\\2\"",$string);
highlight_string($string);
?>
Avatar billede binderup Nybegynder
05. marts 2003 - 15:15 #4
Jeg fandt selv løsningen - jeg brugte preg_replace i stedet.

$string=preg_replace("/<(.*)src=\"(.*)\"(.*)>/","<\\1src=\"$this->site_root\\2\"\\3>",$string);
Avatar billede Slettet bruger
05. marts 2003 - 15:20 #5
Ok, luk lige spørgsmålet så!
Men prøv at tjek resultatet på nedenstående først!?

<?php
$string = "<b>
<hr> <img alt=\"hoho\" src=\"whatever\" bla bla> <div></div><img alt=\"bla\" src=\"bla\"> <b>test</b>
<img alt=\"bla\" src=\"bla\" id=\"test\">
<i>bla</i>";
$string=preg_replace("/<(.*)src=\"(.*)\"(.*)>/","<\\1src=\"$root\\2\"\\3>",$string);
highlight_string($string);
?>
Avatar billede binderup Nybegynder
05. marts 2003 - 15:33 #6
ja jeg kan se at den første ikke bliver erstattet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester