![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| TwiSteR |
|
|||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
Приветствую вновь уважаемые !
Задача такая, сделать подобие пхп функции addslashes() Вот её описалово ========================================================= string addslashes ( string str) Возвращает сроку str, в которой перед каждым спецсимволом добавлен обратный слэш (\), например для последующего использования этой строки в запросе к базе данных. Экранируются одиночная кавычка ('), дойная кавычка ("), обратный слэш (\) и NUL (байт NULL). Функция addslashes() часто применяется при записи в базу данных. Предположим, если нужно внести в базу данных имя O'reilly, то символ ' должен быть экранирован. В большинстве баз данных для этого используется \, строка будет выглядеть как O\'reilly. Заметьте, что сам символ \ в базу данных записан не будет. Если директива конфигурации magic_quotes_sybase имеет значение on, то символ ' будет экранироваться добавлением еще одного ' вместо \. ========================================================= Пробую так
Но это не совсем правильно до конца ибо если есть " должно заменяться на \" а заменяется на \' Подскажите плиз... --------------------
|
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
А для чего тебе?
Если что смотри ман "\Q", пример, $str =~ /\Q$переменная\E/; "\Q" сама добавляет "\" перед спец. символами, дабы не было ошибки. Или для тебя самое простое:
А у тебя, думаю, ошибка: замени [\'\"] на ['"], это даж в твоём коде не могло работать. Это сообщение отредактировал(а) nitr - 14.2.2006, 10:59 |
|||
|
||||
| TwiSteR |
|
||||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
nitr,
Сенкс сделал так
но вот так не пашет
--------------------
|
||||
|
|||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
TwiSteR,
Добавлено @ 11:23 Можешь для экранирования запроса к БД использовать метод DBI quote. Это сообщение отредактировал(а) sharq - 14.2.2006, 11:22 -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
Это сообщение отредактировал(а) BlackLFL - 14.2.2006, 12:09 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
sharq,
прикольный код TwiSteR, используй его код, он практичен. Вот модификация.. если не понятны "расширенные" регулярки:
Да и \Q здесь не причём... Добавлено @ 12:43 Кстати, форум использует регулярки... =)) Лучше б как в xml SAX использовалось, но конечно проще как щас Я просто к слову ;) Это сообщение отредактировал(а) nitr - 14.2.2006, 12:47 |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
nitr,
ключ i - здесь нен нужен. а m - лучше оставить. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
=) канечна не нужен... применение m лучше расскажи в этом примере.
|
|||
|
||||
| TwiSteR |
|
|||
![]() Кибер красавчег ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 15.6.2005 Где: World->Russia Репутация: нет Всего: 2 |
Всём огромное спасибо !
--------------------
|
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
nitr,
этот ключик сочитается вместе с ключиком s. смотри документацию по re. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |