Видалення лапок зі строки

PHP:
Видалення лапок зі строки

Як:

Ось простий приклад за допомогою вбудованих функцій PHP:

$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = str_replace(array("'", "\""), '', $quotedString);
echo $unquotedString; // Виводить: Hello, she said, Its a fine day!

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

Поглиблений огляд

У ранні дні PHP розробникам доводилося бути особливо обережними з лапками в рядках, особливо при вставці даних до бази даних. Неналежно оброблені лапки могли призвести до атак SQL ін’єкцій. Тоді була введена функція магічних лапок, яка автоматично екранувала вхідні дані. Вона була визнана застарілою та нарешті видалена, оскільки спонукала до поганих практик програмування та проблем з безпекою.

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

$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = preg_replace('/[\'"]/', '', $quotedString);
echo $unquotedString;

Для даних JSON ви можете використовувати json_encode() з опціями, такими як JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE, щоб уникнути додаткових зворотних слешів у ваших лапках.

При реалізації враховуйте крайові випадки. Що, якщо ваш рядок призначений мати певні лапки, як діалог у розповіді або дюйми в мірках? Контекст має значення, отже, налаштуйте своє видалення лапок згідно з передбачуваним використанням даних.

Див. також