mmofacts.com

Negative Look>before< Assertions?

gepostet vor 17 Jahre, 1 Monat von n26
Ich möchte in einem bestimmten Text jedes # durch '& #35 ;'(ohne Leerzeichen versteht sich) ersetzen aber wenn ich nun folgenden Code nutze:
$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.
gepostet vor 17 Jahre, 1 Monat von n26
Jetzt weiß ich warum ich mir die Magnetwand neben meinen Rechner gehängt habe . Vielen Dank für den Link!

Auf diese Diskussion antworten