【发布时间】:2021-12-20 19:55:31
【问题描述】:
对不起我的英语。我正在尝试搜索包含主题标签的 mysql 数据库,但它返回所有。
例如搜索#NBA 返回:#NBA、#NBA2021、#NBAscoreBoard 等
我在这里尝试了所有 preg_replace。 eg#(^|\s)#(\w*[a-zA-Z_]+\w*)#但是遇到具体搜索后怎么break呢?
$_GET["tag"]='#nba'; // $_GET is from a query string
$fulltag = preg_replace("/[^a-zA-Z0-9_]/", '', $_GET["tag"]); //trying to isolate this problem
$sql='SELECT * FROM status WHERE data LIKE "%#'.$fulltag.'%" LIMIT 12';
//
//
//
echo //the result containing the "# $fulltag";
【问题讨论】:
-
我们不是在几个小时前看到的吗
-
是的,但它没有那么多代码
-
您是否尝试过简单的
"%#'.$fulltag.'",在您的条件后不使用通配符 -
是的,但它希望这是字符串的结尾。如果主题标签后有任何内容,则从搜索中省略
-
为什么不只做两个查询,一个用于 if
data = fullTag,如果什么都不返回,那么进行通配符搜索?