Avatar billede kornfreak Nybegynder
08. oktober 2003 - 19:26 Der er 10 kommentarer og
3 løsninger

en hurtig regepx

Nogen der lige hurtig kan lave en regexp der replacer [fed]tekst[/b] fra en streng til <b>tekst</b>?
Avatar billede kornfreak Nybegynder
08. oktober 2003 - 19:26 #1
[fed][/fed] skulle det være
Avatar billede fangel Nybegynder
08. oktober 2003 - 19:34 #2
noget i stil med

$str = ereg_replace("\[fed\]([a-zA-Z0-9 \-\_)\[/fed\]", "<b>\\1</b>", $str);

skal lige siges at jeg ikke er _SÅ_ god til RegExp, men prøv det - hvis det ikek virker, så var det forsøget værd...

Morten
Avatar billede viciodk Praktikant
08. oktober 2003 - 19:37 #3
Avatar billede detox Nybegynder
08. oktober 2003 - 19:44 #4
Mit bud:

$pat = "\[fed\](.*)\[/fed\]";
$rep = "<b>\\1</b>";
$str = eregi_replace($pat,$rep,$str);
Avatar billede kornfreak Nybegynder
08. oktober 2003 - 19:45 #5
viciodk's ide virker jo egentligt perfekt =)
Avatar billede fangel Nybegynder
08. oktober 2003 - 19:50 #6
mit bud - nu også testet!

<?php

$str = "jeg [fed]gik mig[/fed] en tur!";
$str2 = ereg_replace("(\[fed\]){1}([a-z0-9 ~#%@&:;=!',_æøå\?\/\.\-\+\|\*\$\^\{\}]+)(\[/fed\]){1}", "<b>\\2</b>", $str);

echo $str . "<br>\n" . $str2;

?>

den har det dårligt med '-'er, selvom den er med... men den virker i hvert fald

---

vicio's er OK, men hvis personen kun skriver [fed], vil der aldrig komme et </b> tegn igen, og resten af din side er med fed tekst

Morten
Avatar billede olebole Juniormester
09. oktober 2003 - 03:53 #7
<ole>

Det er altid en fordel at bruge 'preg' funktionerne fremfor 'ereg'. De er langt hurtigere:

$bla = "jkljlkj[fed]jkjlkj lkj lkj lkjlkj lkjl kj[/fed]jkljlkj[fed]jkjlkj lkj lkj lkjlkj lkjl kj[/fed]";
$bla = preg_replace( "/\[fed]([^\[]*)\[\/fed]/", "<b>\\1</b>", $bla );
print $bla;

/mvh
</bole>
Avatar billede fangel Nybegynder
09. oktober 2003 - 07:21 #8
ole -> er perl reg exp virkelig så meget hurtigere? - så må jeg hellere lære mig dem ;)

Morten
Avatar billede olebole Juniormester
09. oktober 2003 - 07:32 #9
Yups ... php.net skriver det faktisk selv:
"Tip: preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace()."
  http://dk.php.net/manual/en/function.ereg-replace.php

Det er afhængig af hvilke mønstre, der skal findes ... nogen gange er der stor forskel, andre gange mindre. På den anden side vælger man altid den bedst performende løsning, hvis man altid bruger Perl-versionen  :)
/mvh
Avatar billede kornfreak Nybegynder
13. marts 2004 - 13:15 #10
Wow, den her havde jeg glemt. Jeg fik det til at virke, men jeg kan ik huske hvilket svar..så smid et svar, så kan i dele :P
Avatar billede fangel Nybegynder
13. marts 2004 - 13:53 #11
svaa'r
Avatar billede olebole Juniormester
13. marts 2004 - 17:22 #12
swaaaaaar  :)
Avatar billede detox Nybegynder
13. marts 2004 - 18:00 #13
c",)
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