Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_替换整个单词_Php_Mysql - Fatal编程技术网

Php preg_替换整个单词

Php preg_替换整个单词,php,mysql,Php,Mysql,我有一个小标签云,显示了最近20次搜索,我正在努力使它不会显示任何以数字0或1开头的关键字。我在谷歌搜索从0和1开始的随机垃圾时遇到了问题。谷歌正在输入类似 01 01 0–9 1ï½(7 0–0ï½)7 它让我的标签云看起来像垃圾,所以我不希望它显示出来 下面是我现在用来显示标签的基本内容 $num='1' $result=mysql_query(“选择关键字,从关键字中选择时间按时间顺序描述限制20”) 虽然($row=mysql\u fetch\u row($result))&($num不

我有一个小标签云,显示了最近20次搜索,我正在努力使它不会显示任何以数字0或1开头的关键字。我在谷歌搜索从0和1开始的随机垃圾时遇到了问题。谷歌正在输入类似
01 01 0–9 1ï½(7 0–0ï½)7
它让我的标签云看起来像垃圾,所以我不希望它显示出来

下面是我现在用来显示标签的基本内容

$num='1'
$result=mysql_query(“选择关键字,从关键字中选择时间按时间顺序描述限制20”)

虽然($row=mysql\u fetch\u row($result))&($num不是,完全确定你的要求。但是你可以做

if(substr($word, 0, 1) === 0 || substr($word, 0, 1) === 1) {
    $word = '';
    }

这样,如果$word的第一个字符是0或1,它将返回NULL。

您可以从数据库中跳过它们

select keyword, time from keywords WHERE keyword REGEXP '^[:alpha:]' ORDER by time DESC LIMIT 20
这将只从数据库中获取以alpha字符开头的关键字

如果您不想使用select,可以在php中使用以下方法:

$result=mysql_query("select keyword, time from keywords order by time DESC LIMIT 20");
while ($row=mysql_fetch_row($result)) {
    if (preg_match('^\w',$row[0])) {
        $word = $row[0];
        $time = $row[1];
        echo "".$word."";
    }
}

这将只回显以alpha字符开头的单词。

sql查询似乎工作得很好。我必须在sql中删除WHERE之前的顺序。我认为这是您的拼写错误。除此之外,效果非常好。谢谢。