Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замена подстроки в $_POST

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Itan
Отправлено: 01 Февраля, 2011 - 10:48:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Здравствуйте! Уже второй день маюсь, ничего не могу придумать...

Нужно проверить, есть ли в переменной $_POST['sss'] двойная кавычка ("), если есть. то заменить её на две одинарных (''). Но если есть двойная кавычка, значит есть обратный слэш (\), потому что он автоматом подставляется перед кавычками и подобным знакам. Его нужно заменить на "" (на пустую строку)

Т.е. если юзер ввел в поле ООО "Трио", то должно быть ООО ''Трио'' (тут две двойные кавычки заменены на четыре одинарные).

Уже всяко перепробовал, ничего не получается. Вот одно из моих неработающих решений:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <html>
  2. <?php
  3.         if (strpos($_POST["sss"], '"')) {
  4.                 $POST1=str_replace('"', '\'\'', $_POST['sss']);
  5.         } else {
  6.                 $POST1=$_POST['sss'];
  7.         }
  8.        
  9.         if (strpos($_POST1, '\\')) {
  10.                 $POST2=str_replace('\\', '', $_POST1);
  11.         } else {
  12.                 $POST2=$_POST1;
  13.         }      
  14.  
  15.         print $_POST2;
  16. ?>
  17. <form method="POST" action="8.php">
  18. <input type="text" name="sss" value="<?php print $_POST2; ?>" />
  19. <input type="submit" name="submit" value="Сохранить" />
  20. </form>
  21. </html>


Поделитесь кусочком мозга, пожалуйста!
 
 Top
Uchkuma
Отправлено: 01 Февраля, 2011 - 10:58:19
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Отключите magic_quote_gpc.
Если у вас php запущен как модуль apache, то можно в файле .htaccess добавить/отредактировать строку:
Цитата:
php_flag magic_quotes_gpc 0

Если как cgi, добавить/отредактировать строку в файле php.ini:
Цитата:
magic_quotes_gpc = Off

Это отключит автоматическое добавление обратных слэшей перед кавычками.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB