2016-03-30 13 views
-2

Ich habe die nächste Situation:PHP Trimm funktioniert nicht in meinem Fall

$a = ' 0226 '; 

Ich versuche Leerzeichen am Anfang und Ende des Strings zu entfernen:

print_r(trim($a)); 

und erwartet Ausgang:

'0226' 

Hier sind Ergebnisse von var_dump und urlencode von oben string:

print_r(urlencode($a)); // %C2%A0+0226+%C2%A0 
var_dump($a) // <pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'  0226  '</font> <i>(length=10)</i> 
</pre> 
+0

Das ist nicht ein normales Raumzeichen ist, dass 'trim' arbeiten kann. –

Antwort

0

Ihr Code ändert sich in keiner Weise $a.

Die Syntax für eine trim() ist

$newvar = trim($originalvar); 

Contatenating Funktionen wie Sie haben bedeutet, dass Sie eigentlich nie irgendwo die getrimmte Wert speichern, dass Sie später Dump kann es seinen Wert zu prüfen.

Versuchen var_dump den Wert ing Sie tatsächlich

getrimmt
$a = ' 0226 '; 
$b = trim($a); 
echo 'Trimmed value = >' . $b . '<'; 

$c = urlencode($b); 
echo 'urlencoded value = >' . $c . '<'; 

Auch print_r() für Arrays Dumping ist, und ich glaube nicht, dass jeder Ihrer Code erstellt oder verwendet ein Array.

0

Der Platz vor dem Text und nach dem Text ist nicht eine Art von Raumbeschnitt kann arbeiten. Ich denke, es gibt mehr im Raum als nur das, was du siehst.

Sie könnten htmlspecialchars() verwenden, um festzustellen, ob es Sonderzeichen außer Leerzeichen vor und nach dem Text ...

Verwandte Themen