ik heb een script gemaakt wat mijn roosterwijzigingen laat zien,
nu geeft hij dit als output:

string(222) "Di 3e VENJ A105 M&O Vr 5e vrij 6e uur Di 8e vrij Ma 9e vrij Di 9e vrij Do 9e vrij Vr 9e ? ? *KER 10e u "

als ik die tekens tussen de " en " telt kom je niet aan 222 tekens, deze string moet gesmst worden en dan mag je maar 160 tekens hebben. maar deze string bevat niet zoveel (zichtbare tekens)

als je dan kijkt naar bron weergeven zie je dit -->

"Di 3e VENJ
 
 A105
 
 M&O
 
Vr 5e 
 
 vrij
 
 
 
 
 
 
 
 
 
 
 6e uur
 
Di 8e 
 
 vrij
 
 
 
 
 
 
 
 
 
Ma 9e 
 
 vrij
 
 
 
 
 
 
 
 
 
Di 9e 
 
 vrij
 
 
 
 
 
 
 
 
 
Do 9e 
 
 vrij
 
 
 
 
 
 
 
 
 
Vr 9e ?
 
 ?
 
 *KER
 
 
 
 
 
 
 10e u
"

hoe kan ik die onnodige onzichtbare enters dan weghalen zodat deze string wel <160 tekens bevat.

mvg,
Dennis v.d. Oever
Probeer

<?php
str_replace("\r\n", '', $sMessage);
werkt niet :(
trim ook niet
Doe dan eens dit, op verder gaan op Dennis Mertens:


$string = str_replace("\n", "", $string);
$string = str_replace("\r", "", $string);
thx eddy als ik ze apart doe, dan werkt het wel.
erg vaag maar goed het werkt nu.
thx
<?php
str_replace(array("\r\n", "\r", "\n"), '', $sMessage);
?>

1e is Windows
2e is Mac
3e is Linux
@ dennis: mmm dat is niet vaag.
De server waarop het bericht wordt ingevoerd is dus blijkbaar een Mac óf Linux.

Als er alleen maar \r in staat zal een \r\n niet werken, maar een \r en \n wel.
Als er alleen maar \n in staat... ja?
Als er ook af en toe \r\n in staat werkt het ook.

Dus pak het deel voor deel aan, dan werkt het altijd.

@ Martijn: de eerste waarde van die array is dus overbodig, want de volgende twee zullen hetzelfde doen.
Wellicht is jouw manier sneller? Maar nodig is het niet persé.
Waarom pak je niet de PHP constante PHP_EOL?

Reageren