webForumDet fria alternativet

Ta bort enterslag i en sträng

PHP

7 svar · 876 visningar · startad av vic

Medlem sedan apr. 2006244 inlägg
Frågan#1

Hallåj!

Har ett javascript som visar en div med text i när man hovrar med musen över en bild. Scriptet fungerar av någon anledning inte om det förekommer enterslag i texten. Texten hämtas med en sträng , där jag försöker byta ut \n mot ett vanligt mellanslag.

echo preg_replace('/\n/'," ", $ovrig_inf);

Mellanslaget läggs bara till i strängen, enterslaget försvinner dock inte. Vad gör jag fel??

// Vic

Medlem sedan maj 20002 993 inlägg
#2

strreplace borde väl fungera lika bra? $ovrig_info = strreplace(array(chr(0x0a), chr(0x0d)), ' ', $ovrig_info);

Medlem sedan apr. 2006244 inlägg
#3

man tackar...

Medlem sedan juli 2004181 inlägg
#4

Anledningen till att ditt enter inte försvinner är för att (i Windows är) ett enter egentligen två tecken: \r\n.

Medlem sedan maj 20002 993 inlägg
#5

$ovrig_info = strreplace(array("\n", "\r\n"), array(' ', ' '), $ovrig_info);

Kanske är bättre till och med :p

Medlem sedan okt. 20051 inlägg
#6

Den fungerar enligt mig alltid:

$message = preg_replace("/\r\n|\n\r|\n|\r/", " ", $message);

Medlem sedan juli 2004181 inlägg
#7

thorsell skrev:

Den fungerar enligt mig alltid:

$message = preg_replace("/\r\n|\n\r|\n|\r/", " ", $message);

följande borde väl vara mer effektivt:
$message = preg_replace("/\n|\r/", " ", $message);

eftersom \r\n och \n\r innefattas av \n och \r...

Medlem sedan sep. 200619 inlägg
#8

varför inte bara:

echo str_replace("\r\n", '', $string);
256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)