| |
|
|
| | пользовтаель пишет слова в поле формы.
они же потом используются в рег выражении.
Как поубирать, запретить все символы которые могут повлиять на выражение?("*", "." и т.д.)
Есть какая либо функция или вручную всё? | |
| |
|
|
| |
автор: Тень (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)
| | | ска точно не туда подумал)
спасибо котэ. | |
| |
|
|