Dit is moelijk uit te leggen dus maar ff ut voorbeeld:
<?
# Rechtstreeks uit mijn functie :)

# Hyperlinks : linktext
eregi_replace("\[url=","<a href=\\\"", $text);
eregi_replace("\[/url\]","</a>", $text);

# Zoals je ziet gaat dit nooit werken ...
# [*] De laatste ] van url wordt niet omgezet
# Nou dacht ik aan zoiets als :
eregi_replace("\[url=(.){1,}\]","<a href=\\\"(.){1,}\\\">", $text);
?>

Help me ... :)
probeer deze eens:
<? preg_replace('/\[url=([:a-z0-9.\/_\-?=;&]*)\]([a-z0-9 ]*)\[\/url\]/i','<a href="\\1">\\2</a>',$text); ?>
<a href="\\1">\\2</a>


1 en 2?
jup
<?
$text='hier komt de tekst';
preg_replace('/hier ([a-z]*) de tekst'/,'//1;'$text);
?>

zoals je wel ziet bij dit voorbeeld, alles wat tussen ( ) staat word opgeslagen, en die kan je aanroepen door \\1 \\2 en ga zo maar verder :)
Waarom die / aan het begin? En bij de eerste de /i aan het einde?
Gebruik gewoon de pear UBB class. Je hoeft niet het wiel opnieuw uit te vinden.
Mooie kw00t over dat wiel ...
Maar daar gaat het ook niet om ...
Het gaat erom dat je van kopieren en plakken niets leert -> beter even zelf denken zodat je de taal nog beter onder controle krijgt :)
Waarom die / aan het begin? En bij de eerste de /i aan het einde?
zoals je ziet gebruik ik preg in plaats van ereg
preg is perl stijl en daarbij moet je altijd aan het begin en aan het einde een / neerzetten
dat zijn delimiters, je kan daar niets achter zetten maar je kan er ook dingen mee aanpassen.
als je bijvoorbeeld de i erachter zet zoals ik heb gedaan, dan word de regex opeens case insensitive

lees anders mijn regex gevalletje eens door, op de laatste pagina heb ik een lijst van delimiters gezet
in perl stijl stijl is if (preg_match("hoera",$gefeliciteer))

if($gefeliciteerd =~ /hoera/)

en preg_replace is

$gefeliciteerd =~ s/nog vele jaren/ik hoop dat je volgend jaar niet haalt/;

Neat eh? Heb ik al eens verteld dat perl 0wn3d?
ik bedoelde dat de preg functies met perl stijl werken, de andere gebruiken de posix manier
niet dat je met perl het direct op die manier doet :P

en perl is idd een fantastische taal ja :)
daar ben ik het over eens
Na veel gekloot en proberen heb ik deze eruit gekregen :)
<?
$text = preg_replace("/\[url=([:a-z0-9.\/_\-?=;&]*)\]([A-Za-z0-9.\/]*)\[\/url\]/i","<a href=\"\\1\">\\2</a>",$text);
?>

Reageren