У меня возникли проблемы с экранированием/удалением строк с помощью PHP/MySQL - всегда кажется, что это лишние косые черты.
В качестве примера возьмем следующую строку:
<span style="text-decoration:underline;">underline</span>
При добавлении строки в базу данных я избегаю ее с помощью mysql_real_escape_string()
, и следующее содержимое сохраняется в базе данных ( РЕДАКТИРОВАТЬ: отметьте это, запросив базу данных непосредственно с помощью приложения mysql):
<span style=\\\"text-decoration:underline;\\\">underline</span>
При чтении из базы данных я передаю строку через stripslashes()
и возвращается следующее:
<span style=\"text-decoration:underline;\">underline</span>
Поскольку кавычки все еще экранированы, он разбивает html, и текст не подчеркивается.
- Почему
mysql_real_escape_string()
добавляется три слэша иstripslashes()
удаление двух слэшей? Я ожидаю, что они оба добавят/удалят одну косую черту. - Как я могу предотвратить это?
- Я подхожу к этому правильным способом?