webForumDet fria alternativet

Ta bort radbrytningar?

PHP

7 svar · 545 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Tjena, prövade att söka på detta i forumet utan vidare resultat. Så jag slänger in en ny tråd och hoppas på det bästa.

Grejjen är den att när folk skriver i min gästbok så blir det ibland så att de lämnar en extra <br/> i sina inlägg. Det är sjukt störande tycker jag då jag måste gå in i efterhand och fixa till det! (Måste ju se snyggt ut)

Jag vet att det går att fixa detta, men vet inte hur. Please help! :)

Exempel:

Av: Robban.
Tjenare, kool sida! Hej då!
Medlem sedan juni 20006 031 inlägg
#2

Tror att trim borde fungera.

Lägg detta innan du sparar inläggen i databasen

// Tag bort eventuella blanksteg i början eller slutet mm
foreach($_POST as $key => $val){
    $_POST[$key] = trim($val);
}
Medlem sedan aug. 20002 975 inlägg
#3
$text = preg_replace("/(\r\n|\r|\n)+/", "\n", $text);

Innan du kör nl2br() på texten.

[EDIT]
Jag förstod det som inne i texten :)
Men när jag läser Peddas svar så tolkar jag det nog också som han.
Låter dick mitt svar stå kvar, fastän det inte är vad du söker.

Medlem sedan jan. 20011 140 inlägg
#4

Utan att ha kollat på koden. Tar den bara bort blanksteg eller också <br/> ?

Medlem sedan juni 20006 031 inlägg
#5

Jag vet att den tar bort blanksteg, men jag tror att den även tar bort radbrytningar. (Om du menar min kod)

r/
Jag använder koden främst för att kolla så ett fält från ett formulär som inte får vara tomt inte enbart innehåller blanksteg. Så det är ju bra att använda ändå, så ingen postar ett inlägg i gäsboken med enbart blanksteg.

Medlem sedan aug. 20002 975 inlägg
#6

trim() tar bort mellanslag, radbrytningar och tabbar från början och slutet på strängen.

Medlem sedan sep. 200436 inlägg
#7

Pedda om du kör trim() på en sträng som enbart innehåller tabbar, blanksteg och radbrytningar så returneras NULL. Så egentligen behöver man inte den där maxxad preg_replace koden :)

Medlem sedan mars 20034 471 inlägg
#8

jOOOL skrev:

Pedda om du kör trim() på en sträng som enbart innehåller tabbar, blanksteg och radbrytningar så returneras NULL. Så egentligen behöver man inte den där maxxad preg_replace koden :)

Mattes kod plockar bort "extra" blanktecken inuti ett textblock. Dvs om man skriver något i stil med:

Jag är sååå cooool

eftersom jag kan slå retur flera gånger i följd!

så blir det:

Jag är sååå cooool
eftersom jag kan slå retur flera gånger i följd!

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)