Функция экранирует двойную кавычку "
, одиночную кавычку '
, обратный слэш \
и NUL
. По сути она эквивалентна PHP-функции addslashes()
, лишь с тем отличием, что работает с массивами.
add_magic_quotes( $array );
$array
(массив) (обязательное) — массив, который нужно обработать.
Возьмем какой-нибудь массив для примера:
$array = array( 'элемент с " двойной кавычкой', array( "массив в массиве", "элемент с ' одинарной кавычкой" ), 'элемент со слэшами \ и кавычками \' ' ); print_r( add_magic_quotes( $array ) ); // функция возвращает массив, сразу выводим его
В результате будет выведено вот что:
Array ( [0] => элемент с \" двойной кавычкой [1] => Array ( [0] => массив в массиве [1] => элемент с \' одинарной кавычкой ) [2] => элемент со слэшами \\ и кавычками \' )
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Здравствуйте! Можете подсказать как использовать эту функцию, чтобы экранировать двойные кавычки (") в разметке JSON-LD.
Проблема в следующем. Стоит плагин Schema, который создает в том числе json разметку по полям "Title" и "Aurthor". У меня на сайте эти поля часто заполняются с использованием кавычек (много разных пользователей. В идеале конечно вообще запретить ввод этих кавычек там, но я не знаю как.). В итоге Google-консоль ругается на ошибку в структурированных данных (что собственно логично, т.к. в JSON-LD кавычки используются для других целей).
Отсюда и вопрос - как правильно написать эту функцию? (я не программист, поэтому для меня эти массивы темный лес).