Willkommen in der Webstatt
User-1 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. xyz-169.

netcup.de Warum gibt es hier Werbung?
User-2 am 01.09.06 13:58

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


:)

User-3 am 01.09.06 14:00

er wills doch gerade andersrum franky.

bei deinem 2. code xyz-169 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?

User-1 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 xyz-195 findet wieder bla bla bla



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


wo meinst du ?

User-4 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;
}

User-1 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!

User-5 am 01.09.06 14:35

Toll, jetzt ersetzt du nix durch nix :P

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

sollte ausreichen ;)

User-1 am 01.09.06 15:53

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

User-6 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

User-5 am 01.09.06 17:27

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

User-6 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