Het valt me op dat er iets raar gebeurt wanneer je in een tekst bepaalde delen omzet naar emoticons.

Ik gebruik dan


<?php
$str = '<)';

$str = str_replace(';)', '<img src="images/wink.gif">', $str);
?>


Zoals je kan zien is mijn tekst "<)". Dit is géén emoticon, maar wordt wel omgezet naar volgende string:


<?php
echo $str;
// Output: <<img src="images/wink.gif">
?>


Ja, met het haakje vóór die emoticon die er helemaal niet moet staan.

Ik gebruik dit momenteel niet op mijn eigen site, maar zie het op vele plaatsen gebeuren waar emoticons worden gebruikt.

Iemand een verklaring?
Weet je dat héél zeker? Hier doet hij dat namelijk helemaal niet.
Kan je jouw code even meegeven?

[size=xsmall]Toevoeging op 24/09/2011 16:02:46:[/size]

Edit: Heb het ook voor bij $str = '")';
Precies dezelfde :D

<?php
	$str = '<)';
	$str = str_replace(';)', '<img src="images/wink.gif">', $str);
	echo $str; // <)
?>
Misschien is er iets in de cache van je browser blijven hangen. Even je cache leeggooien en opnieuw proberen.
Staat er nog meer code voor of achter?
Neen. En op mijn server gebeurt het ook niet. Maar op een site die ik gebruik gebeurt het wel. Daar heb ik geen code van, maar de webmaster zegt dat het een simpele str_replace is.
Ik kan je nu even niet volgen.

Gaat het hier om een site waarvan jij de code niet hebt? Dus er gaat iets fout en jij hebt de code zelf niet gezien?
Wil je stoppen met zo bazig en neerbuigend te doen en gewoon meezoeken naar een oplossing?

Wat hij zegt: Net getest: str_replace evenals preg_replace doen hetzelfde. Ik gebruikte overigens al str_replace. Ik heb werkelijk geen idee waar het aan ligt.

Ik heb het zojuist ook op andere sites geprobeerd (forums e.d.) en die doen exact hetzelfde, >) en ") worden daar ook een 'wink'. Het lijkt me dus een fout in PHP, to be honest.
In dat geval zou ik die webmaster niet geloven.

Reageren