Php jQuery令牌输入不';I don’我认不出单词的首字母
我正在使用来自的jQuery Tokeninput自动完成插件 我已经将它构建到我的应用程序中,并使用服务器端脚本获得所有结果。当我使用Tokeninput演示中的php脚本进行尝试时,效果很好。但是当我使用php脚本作为源代码时,它无法识别单词的第一个字母。例如,如果我在搜索“Marc Fisher”时键入“Marc”,它什么也找不到,但当我键入“arc”时,它就工作了。姓氏也是如此 以下是我的php脚本:Php jQuery令牌输入不';I don’我认不出单词的首字母,php,jquery,jquery-tokeninput,Php,Jquery,Jquery Tokeninput,我正在使用来自的jQuery Tokeninput自动完成插件 我已经将它构建到我的应用程序中,并使用服务器端脚本获得所有结果。当我使用Tokeninput演示中的php脚本进行尝试时,效果很好。但是当我使用php脚本作为源代码时,它无法识别单词的第一个字母。例如,如果我在搜索“Marc Fisher”时键入“Marc”,它什么也找不到,但当我键入“arc”时,它就工作了。姓氏也是如此 以下是我的php脚本: $search = $_GET['q']; $
$search = $_GET['q'];
$friends = array(
0 => array('name' => 'Marc Fisher', 'id' => '111'),
1 => array('name' => 'Thomas Mann', 'id' => '222'),
2 => array('name' => 'Jon Applebaum', 'id' => '333')
);
$searched_friends = array();
foreach ($friends as $friend) {
$check = strpos($friend['name'], $search);
if ($check !== false) {
array_push($searched_friends, $friend);
}
}
echo(json_encode($searched_friends));
奇怪的是,如果我直接在GET的URL中键入“Mar”,那么它就会工作并输出:
[{"name":"Marc Fisher"}]
我找遍了所有的地方,尝试了我能想到的一切——但都没有用。你知道怎么了吗?我让它工作了,但我不知道为什么。基本上,我用preg_匹配切换了strpos。现在它工作了。我让它工作了,但我不知道为什么。基本上,我用preg_匹配切换了strpos。现在,正则表达式被锚定了吗?我想到的唯一一件事是,如果查询参数中填充了空格,或者存在大小写问题,并且
preg_match
不区分大小写,那么该更改可能会产生影响。顺便说一句,如果你只是在做线性整数索引,你不需要在数组中手动指定它们。我也有过第一个字母的问题,当我在Rails中使用令牌输入时就发生了。仍然希望从某处得到明确的解释。