voorbeeld1: $inhoud = "www.google.be"; => wordt correct omgezet
voorbeeld2: $inhoud = "[url=www.google.be]Google[/url]"; 
voorbeeld3: $inhoud = "[url=www.google.be][/url]";

$inhoud = eregi_replace("(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "[url=\\2][/url]", $inhoud);
$inhoud = eregi_replace("(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "[url=http://\\2][/url]", $inhoud);
$inhoud = preg_replace('/\[url=(.+?)\]\[\/url\]/is','[url=$1]$1[/url]', $inhoud);
$inhoud = preg_replace('/\[url=(.+?)\](.+?)\[\/url\]/is','<a target="_new" href="$1">$2</a>', $inhoud);


Hoi,

De fout is dat bij voorbeeld 2 en 3 de eregi_replace niet zou mogen functioneren. Hoe realiseer ik dat?

Alvast bedankt !
Dit is natuurlijk een vraag van lik mn kl*ten.

Wat heb je al geprobeerd?
Wat verwacht je dat het doet (of in jou geval niet doet)
Wat hoort het wel te doen

Enige toelichting op het doel van het script (voor eventuele verbetervoorstellen)
Context van het script (we miepen altijd dat je niet zoveel code moet posten maar je kunt ook overdrijven)

Als ik dat weet kijk ik wel een keer weer
Jacco schreef op 11.09.2007 07:57
Dit is natuurlijk een vraag van lik mn kl*ten.

Wat heb je al geprobeerd?
Wat verwacht je dat het doet (of in jou geval niet doet)
Wat hoort het wel te doen

Enige toelichting op het doel van het script (voor eventuele verbetervoorstellen)
Context van het script (we miepen altijd dat je niet zoveel code moet posten maar je kunt ook overdrijven)

Als ik dat weet kijk ik wel een keer weer


Hopelijk begrijp je het nu beter:

Als je voorbeeld2 en 3 probeert dan zullen de eerste 2 eregi_replace ook functioneren. dat mag niet !

Dus vanaf er een [URL= gebruikt word, mogen de erigreplaces niet meer werken.


voorbeeld1: ubb2html("http://www.google.be");
voorbeeld2: ubb2html("[url=http://www.google.be]Google[/url]"); 
voorbeeld3: ubb2html("[url=http://www.google.be][/url]");

function ubb2html($inhoud)
{
	$inhoud = eregi_replace("(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "[url=\\2][/url]", $inhoud);
	$inhoud = eregi_replace("(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)", "[url=http://\\2][/url]", $inhoud);
	$inhoud = preg_replace('/\[url=(.+?)\]\[\/url\]/is','[url=$1]$1[/url]', $inhoud);
	$inhoud = preg_replace('/\[url=(.+?)\](.+?)\[\/url\]/is','<a target="_new" href="$1">$2</a>', $inhoud);  
	echo $inhoud;
}


ja.. en wat wil je daar dan nu mee zeggen? Wat heb je al geprobeerd om het anders te kunnen?
Wout schreef op 11.09.2007 14:26
ja.. en wat wil je daar dan nu mee zeggen? Wat heb je al geprobeerd om het anders te kunnen?


Deze functie moet gewoon werken... er moet niets anders kunnen dan een link omzetten van ubb naar html.

alvast bedankt.
Ah ok.. nou succes..! :)

jeej 1500 posts

Reageren