PHP修剪在我的情况下不起作用

时间:2016-03-30 09:04:43

标签: php

我有下一个情况:

$a = '   0226  ';

我试图从字符串的开头和结尾删除空格:

print_r(trim($a));

和预期的输出是:

'0226'

以下是上述字符串var_dumpurlencode的结果:

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>

2 个答案:

答案 0 :(得分:0)

您的代码不会以任何方式改变$a

trim()的语法是

$newvar = trim($originalvar);

像你这样的连接函数意味着你永远不会将修剪后的值存储在以后可以转储它以检查其值的任何地方。

尝试var_dump实际裁剪的值

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

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

同样print_r()用于转储数组,我不认为你的任何代码创建或使用数组。

答案 1 :(得分:0)

文本之前和文本之后的空格不是一种空间修剪可以工作。我认为空间不仅仅是你所看到的。

您可以使用htmlspecialchars()来检测文本之前和之后是否有除空格之外的特殊字符...