Ik wil dat bezoekers bb-code kunnen gebruiken in een tekstvak zoals: url of [link]url[/link]. Hoe kan ik dit vertalen naar gewone html dat hij een plaatje laat zien.
Even een voorbeeld van iets wat ik gebruik: (uit mijn hoofd, dus er kunnen fouten in zitten)
Ik ga er van uit dat:
1: De door de gebruik ingevoerde tekst in $tekst staat
2: De gebruiker een plaatje opgeeft in de vorm [ img ]http://xx.domein.nl/plaatje.ext[ /img ] (zonder de spaties in de img-tag)
3: De uitvoer ook in $tekst moet komen
1: $tekst is de variabele die hierbij bewerkt wordt.
2: Het eerste argument is wat opgezocht dient te worden. In dit geval dient het stuk te beginnen met
en te eindigen met
Daar tussen mag alleen
a t/m z (hoofd en kleine letters)
0 t/m 9
. (letterlijk, vandaar de \ er voor)
/ (letterlijk, vandaar de \ er voor)
:
_
-
Het gedeelte tussen en wordt hierbij opgeslagen in $1 (zie de handleiding op php.net). Dit deel wordt dus bewaard, en later in de replacement weer gebruikt.
De replacement wordt als volgt:
<img src="<<deel tussen ( en )>>" alt="plaatje" />
Waarmee een (x)html valide code voor een plaatje wordt gegenereerd.
Nu gaat het script van dit forum raar om met geplaatste \ zie ik, ik heb ze nu iets aangepast, maar het wordt nog niet weergegeven zoals ik wil. (alhoewel er maar 1 ontbreekt, op een plek waar het IN PRINCIEPE geen kwaat zou moeten kunnen)
Toevoeging ivm eerste argument van mijn oplossing:
De /iUs aan het eind heeft de volgende gevolgen:
1: De letters staan NA de afsluitende /, en zijn dus speciale argumenten.
2: u staat voor ungreedy, dus de kortst mogelijke oplossing wordt gebruikt.
3: i staat voor case Insensitive, dus niet hoofdletter gevoelig.
4: s zorgt ervoor dat het script om kan gaan met regeleinden in de variabele $tekst (al is het in dit geval niet nodig)