Webstatt.org - Community seit 2006 - 2012 (2024?)

br2nl function macht zu grosse lücken?

Avatar user-279
01.09.2006 10: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. user-279.

Avatar user-182
01.09.2006 11:58

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


lächeln

Seid ihr auch schon wix'r? xD
user-303
01.09.2006 12:00

er wills doch gerade andersrum franky.

bei deinem 2. code user-279 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?

Avatar user-279
01.09.2006 12:04

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

21.06.2006 - 21.09.2006<br />
<br />
Ende user-305 findet wieder bla bla bla



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


wo meinst du ?

Avatar user-271
01.09.2006 12: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 Fettes Grinsen

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

#!/bin/bash
traurig){ neutral:& };:
Avatar user-279
01.09.2006 12:32

fast lächeln - so klappts:

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


danke euch!

Avatar user-255
01.09.2006 12:35

Toll, jetzt ersetzt du nix durch nix frech

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

sollte ausreichen zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-279
01.09.2006 13:53

solangs funktioniert frech
nein so funktionierts nicht..habs grad probiert.

user-343
01.09.2006 14:24

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


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

Avatar user-255
01.09.2006 15:27

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

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-343
01.09.2006 16: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