Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Как сделать поиск по маске *? |

25.08.2008, 16:35
|
|
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме: 41875
Репутация:
4
|
|
Как сделать поиск по маске *?
Здравствуйте, встречал решения на eliteuins.com, asechka, когда вписываешь номер и можешь найти по маске интересующий. Для этого используют обязательно регулярные выражения? Дайте рабочий пример.
|
|
|

25.08.2008, 16:58
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
Сообщение от dimash
Здравствуйте, встречал решения на eliteuins.com, asechka, когда вписываешь номер и можешь найти по маске интересующий. Для этого используют обязательно регулярные выражения? Дайте рабочий пример.
Ну, в данном случае использовать регулярные выражения проще и удобнее всего.
P.s. Можно поизвращаться и сделать так:
Запрос: 7******
1. Проверяем длину
2. Проверяем где стоит звёздочка
3. Перебираем по базе все нумы с данной длиной и имеющие в первой позиции символ 7
В принципе просто... НО! Если маска будет например
7*8*2**74
Проверять будет сложновато... Но всё таки возможно
|
|
|

25.08.2008, 17:12
|
|
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме: 2487541
Репутация:
761
|
|
В mysql ищи по теме LIKE, там можно легко сделать аналог *?
* - любое кол-во символов
? - один символ.
Базу лучше как-то по умному разбить и пользоваться кешированием. А то миллионы номеров гонять трудновато))
Вообще когда-то такое делал, правда очень давно. Исходники потерялись.
Проблемы и примерно как это делалось писал тут https://forum.antichat.ru/threadnav11882-1-10.html
|
|
|

25.08.2008, 17:12
|
|
Познающий
Регистрация: 14.04.2008
Сообщений: 78
Провел на форуме: 41875
Репутация:
4
|
|
У меня не номер, а элемент массива, но наверное подойдет.
|
|
|

25.08.2008, 17:29
|
|
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме: 2487541
Репутация:
761
|
|
А. Я думал ты поиск по номерам асек делаешь. Ну если элементов не много, т можно и regexp 
|
|
|

25.08.2008, 18:01
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
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 цикл сам прикрутишь
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|