$text = str_replace( '#', '&#'.ord('#').';', $text );
ersetzt er das # auch in allen anderen ANSI-HTML-Zeichencodes.
Nun wollte ich das verhindern und da kam mir eigentlich als einzige Idee ein Negative Assertion zunehmen. Mir ist aber nur ein Lookbehind-Assertions bekannt ich bräuchte aber ein Lookbefore-Assertions -> Nun die Frage, gibt es sowas?
$text = preg_replace( '~(?!&)#~', '&#'.ord('#').';', $text );
Funktioniert dementsprechend nicht.
Grüße
EDIT:
Gut bin doch selber fündig gewurden (wer lesen kann ist klar im Vorteil >.>).
Das was suchte heißt lookahead Assertion und sieht dann so aus:
$text = preg_replace( '~(?!<&)#~', '&#'.ord('#').';', $text );
Komisch bloss dass auf paar Seiten das obere da als lookbehind beschrieben würd da es doch das was davor kommt überprüft.
Nunja sorry für den nun sinnlosen Thread.