PHP不会检测字符串中的空格

时间:2011-11-04 13:35:18

标签: php

我正在努力将数据从一个数据库传输到另一个数据库。为此,我必须将一些值(字符串)映射到整数,这是我遇到一个奇怪问题的地方。

字符串看起来像$ string =“word anotherword”;所以两个字(或一个空格)。 当我爆炸字符串或计算空格量时,它会错过空白区域。为什么?我var_dumped变量,它说它是一个字符串。

以下是我正在使用的代码。

echo "<strong>Phases</strong>: ".$fases = mapPhase($lijst[DB_PREFIX.'projectPhase']);

发送给该函数的字符串例如是“Design Concept”。这将调用以下函数(忽略空格)

function mapPhase($phases){
    echo "Whitespace amount: ".substr_count($phases, ' ')."<br />";
}

对于给定此函数的示例字符串,回显0.导致此问题的原因是什么以及如何解决?最奇怪的是,对于一个实例,该功能完美地工作。

4 个答案:

答案 0 :(得分:3)

多个空格(以HTML格式)总是转换为一个空格。例如代码缩进。

如果您想要打印多个,请逐个使用&nbps;

function mapPhase($phases){
    echo 'Whitespace amount: '.substr_count($phases, '&nbsp;').'<br />';
}

答案 1 :(得分:0)

也许他们甚至不是空格。对字符串中的每个符号尝试ord()

ord('')是32。

答案 2 :(得分:0)

字符串中的所谓空格可能不是像''中那样的空格,而是类似的东西,它会以与''相同的方式在浏览器中呈现。 (对于可能的字符的基本列表:http://php.net/manual/en/function.trim.php

因此,检查空白究竟是什么可能是该问题的解决方案。

答案 3 :(得分:0)

您可以使用:

$string = preg_replace('/\s+/', '', $string);