1

如果我将小胡子生成的变量与实际字符串进行比较,它会显示奇怪的结果。

<?php
$username = {{userName}};
echo $username; // john

 //if i compare with the string it returns false
if ($username == 'john') //return false

//if i print strlen($username) it returns 14 but it should return 4

?> 

如何将其转换为常规字符串,以便我可以将其与 php 中的其他字符串进行比较?有什么帮助吗?

4

3 回答 3

0

把它包起来修剪http://php.net/manual/en/function.trim.php

看起来小胡子增加了一些空格。

于 2012-12-04T17:28:04.940 回答
0

那是因为那些“小胡子”变量不是 PHP 变量——它们源自 Javascript。

http://icanhazjs.com/

于 2012-12-04T17:29:52.507 回答
0

您没有提供足够的上下文来实际回答问题,但从症状来看,我会说您的字符串是&quot;john&quot;.

您使用的是转义输出 ( {{ foo }}) 而不是非转义 ( {{{ foo }}}),这对于 PHP 而不是 HTML 输出几乎肯定是错误的。我不了解 icanhaz.js,但在许多 Mustache 实现中,您可以将转义符换成更相关的东西。在这种情况下,您可能需要一个与 PHP 等效的转义器var_export()

于 2012-12-06T04:22:42.623 回答