johny7: REGEX: Zeichenfolge finden

Beitrag lesen

Moin allerseits,

Hi!

ich will aus einem Text sämtliche Leerstellen und die Zeichenfolge '\n' entfernen. Dazu habe ich mit folgender REGEX experimentiert:

Du willst also alle Whitespace-Zeichen. Dafür steht die Escape-Sequenz \s, welche bereits \n enthält.

Oder eben die Zeichenklasse space

preg_replace("/[[:space:]\\n]/", '', $post['text'])

Du hast zu viele \ notiert. Bei der PCRE-Engine kommt \n an, was als ein wörtlicher \ gefolgt von n gedeutet wird. Du willst aber \n haben, also nur \n. Allerdings kannst du auch \n notieren, dann löst PHP diese Sequenz auf und übergibt einen echten Zeilenumbruch. Aber wie gesagt, das \n ist bereits in \s und auch in [:space:] enthalten. Dein Ausdruck verkürzt sich also zu

preg_replace("/\s/", '', $post['text'])

Nö. Ich will nicht nur die eigentlichen Zeilenumbrüche notieren. Sondern wirklich die Zeichenfolge \n. Das hängt damit zusammen, dass die Daten per AJAX gesendet werden und in die DB geschrieben werden. Deshalb steht dort nicht einfach ein Zeilenumbruch, sondern die Zeichenfolge \n. Kontextwechsel eben. Aber mit der Information von texter bin ich zum Ziel gekommen.

Grüße, JN

--
ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)
http://www.johny7.de