Веб студия 1webdesign приветствует вас, уважаемые посетители!
Являетесь ли вы постоянным клиентом компании, или зашли на сайт впервые – в любом случае выбор был сделан правильно, поскольку именно здесь можно получить квалифицированную помощь в дизайне, разработке, создании и оптимизации вашего сайта!
Передача переменных из PHP в JavaScriptPHP программисты иногда сталкиваются с проблемами при попытке динамически генерировать JavaScript код. Проблема заключается в использовании некоторых символах одновременно в JavaScript, а также в PHP. Это условие может несколько усложнить нам жизнь, но выход найти можно. Избавляемся от кавычек и символов перевода строки. Предположим мы работаем с PHP переменной, которая должна быть выведена с помощью функции alert в JavaScript. $str = "небольшой фрагмент текста Чтобы вывести сообщение, содержащееся в переменной $str в JavaScript напрашивается решение вида: <script type="text/javascript"> что приводит к ошибке в коде в JavaScript: <script type="text/javascript"> Во-первых, разделители строки в JavaScript не работают, их нужно заменить на \n (символ представляющий перевод строки). Во-вторых, двойные кавычки внутри текста конфликтуют с внешними кавычками при вызове alert. С учетом выше сказанного вот код, который будет работать корректно: <script type="text/javascript"> Как видим нам понадобились две функции PHP: 1) preg_replace - поиск и замена по регулярному выражению Если мы выводим сообщение из PHP кода нам необходимо будет сделать следующее: $str = preg_replace("/\r?\n/", "\\n", addslashes($str)); или <?php В результате получим: <script type="text/javascript"> Этот же самый подход может быть использован во многих схожих ситуациях где из PHP необходимо передать переменную в JavaScript. При попытке отладить этот код следует проверить его работоспособность в JavaScript (современные браузеры имеют встроенные отладчики) и только потом посмотреть как код может быть получен из PHP. Примечание: нет необходимости дополнительно преобразовывать символы & и " к их эквивалентным кодам объекта HTML, так как JavaScript - это независимый от HTML язык и умеет без проблем работать с этими символами. |
Ключевые слова для данной страницы: Веб разработка, передача переменных, переменная PHP в JavaScript
Количество просмотров: 14414 |