Willkommen in der Webstatt Zum Webstatt Blog und Stories
phore phore am 01.09.06 12:51

hi.

für eine edit funktion will ich die <br />'s wieder durch ein '\n' ersetzen, was eigentlich auch kein problem ist.. nur fügt es leider ein '\n' zuviel ein..

hier mein code:

# Wandelt <br/>'s in \n um
function br2nl ($string) {
return preg_replace( '!<br.*>!iU', "\n", $string );
}


habs auch mit str_replace probiert:

# Wandelt <br/>'s in \n um
function br2nl ($string) {
$text = str_replace('<br />', '\n', $string);
return $text;
}


kennt jemand das problem?
danke. phore.

netcup.de Warum gibt es hier Werbung?
Franky Franky am 01.09.06 13:58

function nl2brStrict($text, $replacement = '<br />')
{
return preg_replace("((\r\n)+)", trim($replacement), $text);
}


:)

Snake am 01.09.06 14:00

er wills doch gerade andersrum franky.

bei deinem 2. code phore ist auserdem der fehler, dass du '\n' geschrieben hast. das muss "\n" heißen.
ansonsten ist die frage: ist der code alla "hallo<br /> du"?
ist dieser code von hand geschrieben oder per script generiert?
hängt vll noch ein \r rum, das du vergessen hast?

phore phore am 01.09.06 14:04

das script ist von hand eingegeben..ist ein news modul.
alà:

Quote
21.06.2006 - 21.09.2006<br />
<br />
Ende sommer findet wieder bla bla bla



ähm..
Quote
hängt vll noch ein \r rum, das du vergessen hast?


wo meinst du ?

nuit nuit am 01.09.06 14:08

ersetz einfach mal die brs durch nichts...weil wenn du ein leerzeichen machst, dann müsste da auch ein \n rumhängen, also hast du 2...oder du ersetzt die br durch \n und die \n durch nichts :D

in etwa so ;D
# Wandelt <br/>'s in \n um
function br2nl ($string) {
$string = str_replace(array('\n','\r'),'', $string);
$string = str_replace('<br />', '\n', $string);
return $string;
}

phore phore am 01.09.06 14:32

fast :) - so klappts:

# Wandelt <br/>'s in \n um
function br2nl ($string) {
$string = str_replace(array('\n',''),'', $string);
$string = str_replace('<br />', '', $string);
return $string;
}


danke euch!

milahu milahu am 01.09.06 14:35

Toll, jetzt ersetzt du nix durch nix :P

$string = str_replace('\n','', $string);

sollte ausreichen ;)

phore phore am 01.09.06 15:53

solangs funktioniert :P
nein so funktionierts nicht..habs grad probiert.

Wasili am 01.09.06 16:24

$string = str_replace("\n",'', $string);

So gehts. Milahu hat wohl vergessen, dass \n zwischen Single Quotes nur ein \n ist und kein Steuerzeichen... :D

milahu milahu am 01.09.06 17:27

Nöpe.. hab mich viel mehr gewundet, dass es mit dem Array und Singlequotes ging.. dummes PHP! :D

Wasili am 01.09.06 18:55

Naja... Dass es vorhin "ging", war logisch. Das erste string_replace() machte gar nix. Das nächste machte aus <br />'s halt nix. Und da waren halt schon \n da... Nojooo... Sah halt so aus als ob es gehen würde ;D

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt