Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как сделать поиск по маске *? (https://forum.antichat.xyz/showthread.php?t=82309)

dimash 25.08.2008 16:35

Как сделать поиск по маске *?
 
Здравствуйте, встречал решения на eliteuins.com, asechka, когда вписываешь номер и можешь найти по маске интересующий. Для этого используют обязательно регулярные выражения? Дайте рабочий пример.

OnArs 25.08.2008 16:58

Цитата:

Сообщение от dimash
Здравствуйте, встречал решения на eliteuins.com, asechka, когда вписываешь номер и можешь найти по маске интересующий. Для этого используют обязательно регулярные выражения? Дайте рабочий пример.

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

P.s. Можно поизвращаться и сделать так:
Запрос: 7******
1. Проверяем длину
2. Проверяем где стоит звёздочка
3. Перебираем по базе все нумы с данной длиной и имеющие в первой позиции символ 7
В принципе просто... НО! Если маска будет например
7*8*2**74
Проверять будет сложновато... Но всё таки возможно :)

fucker"ok 25.08.2008 17:12

В mysql ищи по теме LIKE, там можно легко сделать аналог *?
* - любое кол-во символов
? - один символ.
Базу лучше как-то по умному разбить и пользоваться кешированием. А то миллионы номеров гонять трудновато))

Вообще когда-то такое делал, правда очень давно. Исходники потерялись.
Проблемы и примерно как это делалось писал тут https://forum.antichat.ru/threadnav11882-1-10.html

dimash 25.08.2008 17:12

У меня не номер, а элемент массива, но наверное подойдет.

fucker"ok 25.08.2008 17:29

А. Я думал ты поиск по номерам асек делаешь. Ну если элементов не много, т можно и regexp :)

Chaak 25.08.2008 18:01

PHP код:

<?php
$uins 
file('uins.txt');    //массив с уинами
$query '124562';            //уин для поиска
$deep '3';


foreach(
$uins as $uin){
    if(
preg_match("#^".substr($query,0,$deep)."#",$uin)){
        echo 
$uin."<br>";
    }
}
?>

ну что нибудь типа такого. если знаешь php цикл сам прикрутишь


Время: 18:17