webForumDet fria alternativet

Ta bort radbrytningar

8 svar · 814 visningar · startad av stattin

stattinMedlem sedan jan. 2005713 inlägg
#1

Japp jag har sett att ämnet tagits upp förut men det besvarar inte riktigt mina bekymmer.

Jag sparar text från en textarea till en vanlig txt fil, problemet är att trots radbrytningar i texten så vill jag att texten ska sparas som en enda singel rad och ersätta alla radbrytningar med [br] eller något annat lämpligt.

Så:
Hej!\n
\n
Vilket vackert väder!

Blir:
Hej![br][br]Vilket vackert väder!

Jag har provat, googlat och sökt men inte hitta något bra svar.

yadorMedlem sedan mars 2004455 inlägg
#2

Går det inte att göra något liknande som detta:

$minstr = "hejsan!\nHur är läget?\nHär är det bra.";
$str = "";
for($i=0;$i<strlen($minstr);$i++)
{
    if($minstr[$i] == '\n'){
        $str .= "[br]";
        continue;
    }
    $str .= $minstr[$i];
}

?

stattinMedlem sedan jan. 2005713 inlägg
#3

Jag kan inte så mycke om PHP men jag tror att det finns smidigare lösningar än så där, replace, men jag har provat med det och radbrytningarna kommer med ändå (replace alltså). Men tack ändå för ditt svar och den tid du lagt ner.

Igår hitta jag på en egen lösning i javascript, innan jag skicka texten till filen så escapa jag texten och sen replaca jag alla radbrytningar.


texten = escape(document.wall.text.value)
texten = texten.replace(/%0D%0A/g, "!br!")

Och sen unescape() såklart. Nu när jag är lite piggare gämfört med igår natt så kan jag ju tänka mig att man kan göra ungfär samma sak i php, eller man kan göra samma sak + mycket mer.

Så jag nöjer mig nog med det så länge men det vore kul att höra en lösning i PHP också.

Mr. N.Medlem sedan sep. 20025 507 inlägg
#4

nl2br?

fiddlerMedlem sedan juli 20023 617 inlägg
yadorMedlem sedan mars 2004455 inlägg
#6

stattin, jag kan inte heller så mycket om php, jag skrev bara den kodbiten för jag trodde att den kunde hjälpa :) Men jag tror inte att det finns så mycket snabbare sätt att byta ut \n till br ändå.

stattinMedlem sedan jan. 2005713 inlägg
#7

Mr. N. skrev:

nl2br?

visst men det ändrar inte texten till en singel rad

fiddler skrev:

Denna kanske: http://www.webforum.nu/showthread.php?p=1400539#post1400539

Ska kolla närmare..

yador skrev:

stattin, jag kan inte heller så mycket om php, jag skrev bara den kodbiten för jag trodde att den kunde hjälpa :) Men jag tror inte att det finns så mycket snabbare sätt att byta ut \n till br ändå.

Jodå bara som Mr N säger här ovan, nl2br(). Klart din kod funkar också. Tror jag? har inte provat den.

TroxyMedlem sedan mars 20041 505 inlägg
#8

Radbrytningar består av ett eller två tecken.
I Windows är det CR+LF. Sen kör väl resten endast LF.
Följande kod (otestad) söker igenom $string och ersätter CR med ingenting och LF med [br].

$pattern = array('/\r/', '/\n/');
$replacement = array('', '[br]');
preg_replace($pattern, $replacement, $string);

Hoppas det fungerar som du vill :h

stattinMedlem sedan jan. 2005713 inlägg
#9

Troxy skrev:

Radbrytningar består av ett eller två tecken.
I Windows är det CR+LF. Sen kör väl resten endast LF.
Följande kod (otestad) söker igenom $string och ersätter CR med ingenting och LF med [br].

$pattern = array('/\r/', '/\n/');
$replacement = array('', '[br]');
preg_replace($pattern, $replacement, $string);

Hoppas det fungerar som du vill :h

Det där funka ju kanon, tack! :birp
Och alla ni andra som tagit er tid, tack ska ni ha ni också!

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)