Mam tekst, w którym są znaczniki [b], [/b], itp. Do zamiany ich na HTML używam funkcji:
$tresc=eregi_replace('[b](.*)[/b]', '<b>\1</b>', $tresc);
Ale w ten sposób tekst:
[b]Grube[/b]Zwykle[b]Grube[/b]Zwykle[b]Grube[/b]
zostanie przekształcony na:
< b >Grube[/b]Zwykle[b]Grube[/b]Zwykle[b]Grube< /b >
Czyli zostanie zamienione tylko pierwsze [b] i ostatnie [/b]. Jakiej funkcji użyć, aby zamieniał pierwsze napotkane [b] i pierwsze [/b] na odpowiednie znaczniki?
PS.
$tresc=eregi_replace('[b]','<b>',$tresc); $tresc=eregi_replace('[/b]','</b>',$tresc);
Ten kod odpada, bo będzie problem z [url].
Dopisane:
Jak skonstruować wyrażenie (.), aby uwzględniło tekst do znacznika [/b]?
Próbowałem: (.)[^[/b]], ale nic nie daje - jak to poprawnie skonstruować?
Z góry dziękuję.