繁体   English   中英

preg_replace整个单词

[英]preg_replace entire words

我有一个小标签云,显示最近20次搜索,我正在努力使它永远不会显示任何以0或1开头的关键字。我有一个问题,谷歌搜索随机废话从0和1开始谷歌正在输入废话
0 1 1 0 0 9 1 1 * ??? 0 0 0 0
进入我的形式,它使我的标签云看起来像垃圾,所以我希望它不显示。

这基本上就是我现在用来显示标签的内容。

$ num ='1';
$ result = mysql_query(“选择关键字,关键字的时间按时间顺序DESC LIMIT 20”);
while(($ row = mysql_fetch_row($ result))&&($ num <='20')){
$ word = $ row [0];
$ time = $ row [1];
echo“”。$ word。“”;
$ NUM ++;
}

$ word是我需要过滤和显示的东西。 我试图找出preg_replace的方法,但只能删除第一个数字。

有谁知道如何删除$ word中以0或1开头的所有单词? 谢谢。

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

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 char开头的单词。

不,完全确定你的要求。 但你可以这样做,

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM