我想问一下Twitter搜索引擎,我希望它可以用于我的网站,例如
$data; //it's from search engine form
我想如果$data
以#
开头,那么我使用mysql查询来搜索包含hashtag的数据
如果$data
以@
开头,则使用mysql查询搜索包含@
的数据
我想在查询
之前过滤$data
mysqli_query($con,"SELECT*FROM table WHERE data LIKE '%$data%'");
如果数据有hashtag
或@
,如何检查?谢谢
答案 0 :(得分:0)
switch (substr($data,0,1)){
case '@': //if $data begins with @
mysqli_query($con,"SELECT * FROM table WHERE data LIKE '%$data%'");
break;
case '#': //if $data begins with #
mysqli_query($con,"SELECT * FROM table WHERE data LIKE '%$data%'");
break;
default: //neither of above
echo "your query doesn't begin with @ or #";
}
编辑以下评论:
您正在寻找preg_match_all()
以下是您要执行的操作的示例:
这将创建包含所需字符串的2 arrays
($hashes
和$arobases
)。
preg_match_all("(#[^\s]+)", "hello : #hash1 #hash2 @at1 @at2", $hashes);
preg_match_all("(@[^\s]+)", "hello : #hash1 #hash2 @at1 @at2", $arobases);
var_dump($hashes[0]);
echo "<br/><hr/>";
var_dump($arobases[0]);