|
|
|
| пользовтаель пишет слова в поле формы.
они же потом используются в рег выражении.
Как поубирать, запретить все символы которые могут повлиять на выражение?("*", "." и т.д.)
Есть какая либо функция или вручную всё? | |
|
|
|
|
автор: Тень (27.01.2010 в 18:29) |
|
|
для: sl1p
(27.01.2010 в 18:26)
| | preg_quote() | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 18:29)
| | ацке поклонэ (: | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 18:29)
| | хм, а если мне нужно сделать так:
в слове символ "*" я заменяю на "\w*"
т.е. как быть тут, кроме того как придумать "свой" другой символ? | |
|
|
|
|
автор: Тень (27.01.2010 в 19:19) |
|
|
для: sl1p
(27.01.2010 в 18:40)
| | Ну и? Че не выходит? | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 19:19)
| | ну символ будет заменён на "\*"
что до preg_quote(), что после получится каряво. | |
|
|
|
|
автор: Тень (27.01.2010 в 20:38) |
|
|
для: sl1p
(27.01.2010 в 19:53)
| | Вы не знаете как заменить "\*" на "\w*"? | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 20:38)
| | ну тогда и если пользователь введёт "\*" то оно будет тоже заменено целиком :) | |
|
|
|
|
автор: Тень (27.01.2010 в 22:10) |
|
|
для: sl1p
(27.01.2010 в 21:22)
| | Вы хоть пробовали, перед тем, как это написать? | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 22:10)
| | ну нет, просто теоретически я так думаю:
ну допустим я ввожу в поле:
"слов*"
далее заменяю символ "*" на своё выражение: "\w*"
потом юзаем preg_quote() получаем "слов\w\*"
если порядок функций наоборот, то получим "слов\\w*"
потом я ввожу "слов\*"
ну результат понятен.
Не понимаю даже что тут пробовать :) | |
|
|
|
|
автор: Тень (27.01.2010 в 22:29) |
|
|
для: sl1p
(27.01.2010 в 22:23)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 22:29)
| | попробовал
[поправлено модератором] | |
|
|
|
|
автор: Тень (27.01.2010 в 22:38) |
|
|
для: sl1p
(27.01.2010 в 22:34)
| |
<?php
$s = '\* *';
$pattern = '/' . str_replace('\\*', '\\w*', preg_quote($s, '/')) . '/i';
echo $pattern;
?>
|
—
А теперь покажи че ты пробовал. бугага | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 22:38)
| |
[поправлено модератором] | |
|
|
|
|
автор: Тень (27.01.2010 в 22:51) |
|
|
для: sl1p
(27.01.2010 в 22:50)
| | Вы, товарищ, не знаете, что бекслеш — спец. символ и его надо экранировать? | |
|
|
|
|
|
|
|
для: Тень
(27.01.2010 в 22:51)
| | ска точно не туда подумал)
спасибо котэ. | |
|
|
|