preg_replace mit htmlentities

fabse111

Grünschnabel
Hey,
ich habe da mal ein Problem mit

<?php $ergebnis = $object->head;
$pattern = '/('.preg_quote($search, '/').')/i';
$replace = '<span style="color:red;">'.$search.'</span>';
echo preg_replace($pattern, $replace, $ergebnis); ?>

Das funktioniert alles wunderbar, leider muss eigentlich um das preg_replace noch ein htmlentities rum, wodurch natürlich das <span></span> vom ersetzen nicht mehr als html interpretiert wird sondern als Text.
Denke das es ganz simpel ist, komme aber nicht drauf..

Wäre super wenn jemand eine Lösung hätte Danke
MfG fabian
 
Bitte die [php ][/ php Tags benutzen, wenn du Code postest.

Warum muss dort ein htmlentities drum?

Vielleicht kannst du [phpf]html_entity_decode[/phpf] benutzen?
 
Ok mit [PHP][/PHP] mache ich diese Felder alles klar, werde ich beim nächsten mal beachten.
Ich brauchte noch die htmlentities da ich es aus der Datenbank auslese und er dort den Suchbegriff mit der preg_replace ersetzt.
Nur da in die Datenbank alles mögliche eingetragen wird, brauche ich die htmlentities für Umlaute usw.
Habe jetzte eine Lösung gefunden :

PHP:
<?php $ergebnis = $object->text; 
	$pattern = '/('.preg_quote($search, '/').')/i';  
	$replace = '<span style="color:red;">'.$search.'</span>';  
	echo preg_replace($pattern, $replace, htmlentities($ergebnis)); ?>

Die entities einfach um das $ergebnis rum legen trotzdem danke
 
Zurück