我知道这是有用的功能,但是我尝试过的功能并不适用于角色'#' 我现在正在使用的是
function startsWithChar($needle, $haystack)
{
return ($needle[0] === $haystack);
}
,当我尝试检查'#'
时,它返回false有没有人知道一个适用于'#'字符?
修改 我注意到该功能有效,问题是我试图使用GET来做到这一点。当GET以#开头(search.php?query = #asd)时,显然会忽略字符串。你知道解决方法吗?
答案 0 :(得分:1)
你是否混淆了针头和大海捞针?
function startsWithChar($needle, $haystack) {
return ($haystack[0] === $needle);
}
$string1 = 'Test';
var_dump(startsWithChar('#',$string1)) ;
$string2 = '#Test';
var_dump(startsWithChar('#',$string2)) ;
答案 1 :(得分:1)
现在你已经编辑了,一切都变得清晰了。 URL中的文字“#”字符被解释为查询字符串的结尾和片段的开头,因此您的脚本只是“search.php?query =”。请改用%23。有关详细信息,请参阅http://en.wikipedia.org/wiki/Percent_encoding。
答案 2 :(得分:0)
这个怎么样:
function startsWithChar($haystack, $needle){
return mb_strpos($haystack, $needle) === 1;
}