【问题标题】:PHP trim doesn't work in my case [duplicate]PHP修剪在我的情况下不起作用[重复]
【发布时间】:2016-03-30 09:04:43
【问题描述】:

我有下一个情况:

$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>

【问题讨论】:

  • 这不是trim 可以处理的普通空格字符。

标签: php


【解决方案1】:

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

trim() 的语法是

$newvar = trim($originalvar);

像您这样的包含函数意味着您永远不会将修剪后的值实际存储在以后可以转储以检查其值的任何地方。

尝试var_dumping 你实际修剪的值

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

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

另外print_r() 用于转储数组,我认为您的任何代码都不会创建或使用数组。

【讨论】:

    【解决方案2】:

    文本之前和文本之后的空间不是一种可以处理的空间修剪。我认为这个空间不仅仅是你所看到的。

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

    【讨论】:

      猜你喜欢
      • 2015-10-03
      • 1970-01-01
      • 2021-06-04
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2013-12-09
      • 2021-09-03
      相关资源
      最近更新 更多