Слаба богу. Можете меня поздравить. Наконец то я понял что к чему.
--
тут выходит только один вариант.
Писать эту функцию создания регулярок из слов
Тогда получится вот так:
T.REG
id | reg
---------
1 | [c|c|S|s][t|T|T|т][a|а|А][n|н|Н]
2 | [c|c|S|s][t|T|T|т]
3 | [c|c|S|s][t|T|T|т][u|U|у|У][л|Л|l|L]
4 | [л|Л|l|L][и|И|i|I][c|c|S|s][t|T|T|т]
5 | [c|c|S|s][v|V|в|В][и|И|i|I][c|c|S|s][t|T|T|т]
поисковик по запросу строки sт должен будет создать регулярку [c|c|S|s][t|T|T|т]
и посредством следующего обратиться к базе:
SELECT `id` FROM `T` WHERE `REG` LIKE '%[c|c|S|s][t|T|T|т]%'
и будут найдены id - 1, 2, 3, 4, 5
так там везде присутствует подстрока ст
при этом есть одно НО. В базе всегда все буквы s должны соответствовать всегда одной регулярке [С|c|S|s]. тоесть если регулярка для буквы S будет не [С|с|S|s] а [С|S|c|s]
то работать не будет
скрипт проверяющий на уникальность будет проверять вот так:
SELECT `id` FROM `T` WHERE `REG` LIKE '[c|c|S|s][t|T|T|т]'
Дело осталось за самым интересным. Написать эту функцию..\n\n (Добавление)
даже не за самым интересным.
Просто пишем два массива $replacement & $pattern
в первый вводим буквы алфавита во второй регулярки на которые следует заменять буквы
Предварительно нужно наверное убедится что там не окажется всяких запятых, и прочих лишних символов.
|