Avatar billede phpsessid Nybegynder
21. juni 2005 - 19:56 Der er 2 kommentarer og
3 løsninger

eregi_replace() erstat [l] med linkstreng

Hvorfor virker følgende ikke?

$link = explode("[l]", $row[text]);
$text = eregi_replace([l]$link[1][l]$link[2][l], <a href='$link[1]'>$link[2]</a>, $row[text]);

Min hensigt er at erstatte [l]link[l]linknavn[l] med <a href='link'>linknavn</a>

Hvordan gøres det nemmest?
Avatar billede nielle Nybegynder
21. juni 2005 - 20:11 #1
Den virker ikke fordi når du har lavet explode på "[l]" så eksistere denne streng ikke mere i dit output. Dermed er der heller ikke efterfølgende noget som matcher i din eregi_replace.
Avatar billede nielle Nybegynder
21. juni 2005 - 20:20 #2
Prøv noget i stil med:

<?php
$pattern = "/\[l\]"    . $link[1] . "\[l\]" . $link[2] . "\[l\]/";
$replace = "<a href='" . $link[1] . "'>"    . $link[2] . "</a>";

$text = preg_replace($pattern, $replace, $row["text"]);
?>
Avatar billede kastermester Nybegynder
22. juni 2005 - 22:43 #3
Ville nok bruge preg_replace funktionen

noget i stil med

$row["text"] = preg_replace('/\[l\]([^(\[l\]))\[l\]([^(\[l\]))\[l\]/i', "<a href=\"$1\">$2</a>", $row["text");

Kaare
Avatar billede phpsessid Nybegynder
24. juni 2005 - 18:00 #4
nielle var vist først med svar... point?
Avatar billede nielle Nybegynder
24. juni 2005 - 18:42 #5
Svar :^)
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