2011-12-30 2 views
0

У меня есть небольшое облако тегов, которое показывает последние 20 запросов, и я пытаюсь сделать так, чтобы он никогда не показывал ключевые слова, начинающиеся с числа 0 или 1. У меня есть проблема с поиском Google случайных дерьмо, начинающееся с 0 и 1. Google вводит дерьмо, как
0 1 1 0 0 € 9 9 1 ¿½ ½ 7 0 0 ¿½ Â 7
в мою форму, и это делает мое облако тегов похожим на дерьмо, поэтому Я бы хотел, чтобы он не показывался.preg_replace целые слова

В основном я использую для отображения тегов прямо сейчас.

$ num = '1';
$ result = mysql_query ("select keyword, time from keywords order by time DESC LIMIT 20");
в то время как (($ строка = mysql_fetch_row ($ результат)) & & ($ Num < = '20')) {
$ слово = $ строки [0];
$ time = $ row [1];
echo "". $ Word. "";
$ num ++;
}

$ слово, что мне нужно фильтровать и дисплей. Я попытался выяснить способ с preg_replace, но могу получить его только для удаления первого номера.

Кто-нибудь знает, как я могу удалить все слова, начинающиеся с 0 или 1 в $ word? Благодарю.

ответ

2

Вы можете пропустить их из базы данных выберите

select keyword, time from keywords WHERE keyword REGEXP '^[:alpha:]' ORDER by time DESC LIMIT 20 

Это позволит получить из базы данных только ключевые слова, которые начинаются с альфа полукокса

Если вы не хотите использовать выбор, вы можете сделайте это в 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.""; 
    } 
} 

Это будет отражать только слова, начинающиеся с альфа-символа.

+0

sql-запрос, похоже, отлично работает. Мне пришлось удалить заказ до того, как вы находитесь в своем sql. Я думаю, что это опечатка твоя. Кроме этого, отлично работает. Благодарю. – chris

+0

Спасибо, это была опечатка, исправленная сейчас. – Sorin

0

Не уверен, что ур спрашивает. Но вы могли бы сделать,

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

Таким образом, если первый символ слова $ равен 0 или 1, он вернет NULL.

Смежные вопросы