Удаление кавычек из строки

PHP:
Удаление кавычек из строки

Как:

Вот простой пример с использованием встроенных функций PHP:

$quotedString = "'Привет,' она сказала, \"Это прекрасный день!\"";
$unquotedString = str_replace(array("'", "\""), '', $quotedString);
echo $unquotedString; // Выведет: Привет, она сказала, Это прекрасный день!

Просто, правда? Функция str_replace() принимает массив символов, которые нужно удалить из строки, включая как одинарные, так и двойные кавычки.

Глубже

В ранние времена PHP разработчикам приходилось быть особенно осторожными с кавычками в строках, особенно при вставке данных в базу данных. Неправильное обращение с кавычками могло привести к атакам через SQL-инъекции. Введение магических кавычек, функции, которая автоматически экранировала входные данные, стало решением. Но она была признана устаревшей и в конечном итоге удалена, так как способствовала плохим практикам программирования и проблемам с безопасностью.

Теперь мы используем функции, такие как str_replace(), или регулярные выражения с preg_replace() для обработки более сложных шаблонов. Вот пример с регулярным выражением:

$quotedString = "'Привет,' она сказала, \"Это прекрасный день!\"";
$unquotedString = preg_replace('/[\'"]/', '', $quotedString);
echo $unquotedString;

Для данных в формате JSON вы можете использовать json_encode() с опциями вроде JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE, чтобы избежать лишних обратных слешей в кавычках.

При реализации рассмотрите крайние случаи. Что, если в вашей строке должны быть определенные кавычки, как в диалогах в истории или в измерениях в дюймах? Контекст важен, поэтому адаптируйте удаление кавычек к предполагаемому использованию данных.

Смотрите также