Код javascript в PHP

12
Unlock
На сайте с 01.08.2004
Offline
786
44815

Люди, сорри за тупой вопрос, но как сделать такую банальную вещь, как вставить javascript код в PHP?

<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://www.domain.com/openx/www/delivery/ajs.php':'http://www.domain/openx/www/delivery/ajs.php');

var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?campaignid=4");
document.write ('&amp;cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
document.write ("&amp;loc=" + escape(window.location));
if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://www.domain.com/openx/www/delivery/ck.php?n=a5d82afa&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.domain.com/openx/www/delivery/avw.php?campaignid=4&amp;n=a5d82afa' border='0' alt='' /></a></noscript>

Уже не первый раз такой вопрос возникает, через echo вроде удавалось раньше. А тут не смог. Какой вообще общий принципе при "внедрении" javascript в PHP? Хочу разобраться в теме чтобы лишний раз глупые вопросы на задавать :)

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
psylosss
На сайте с 23.12.2005
Offline
126
#1

стер. не в тему.

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
Dreammaker
На сайте с 20.04.2006
Offline
569
#2

общий принцип:

если echo обрамляется двойными кавычками, то внутри они должны быть экранированы слешом, если одинарными, то - одинарные.

То есть,

echo "tut text \"tut escho text' ";

или наоборот.

echo 'tut text \'tut escho text"';

edogs software
На сайте с 15.12.2005
Offline
775
#3
Unlock:
Уже не первый раз такой вопрос возникает, через echo вроде удавалось раньше. А тут не смог. Какой вообще общий принципе при "внедрении" javascript в PHP? Хочу разобраться в теме чтобы лишний раз глупые вопросы на задавать :)

1) Самый имхо кошерный. JS код в файл. В php файле


readfile("js.php");

1.2) или


$a=file_get_contents("js.php");
echo $a;

2) Неплохой.


?>
тута яваскрипт код
<?php

2.2) или


ob_start();
?>
тута яваскрипт код
<?php
$a=ob_get_clean();
echo $a;

3) Приемлимый (вместо BLABLA может быть что угодно, завершающее BLABLA - с новой строки и с точкой запятой только)


$a=<<<BLABLA
тута яваскрипт код
BLABLA;
echo $a;
Побочный эффект - переменные php будут таки выводиться при таком методе. Но хоть о кавычках можно забыть.

P.S.: Вариант "прослэшивать" кавычки конечно тоже вариант, но при объемном javascript коде с обоими типами кавычек (" и ') это достаточно напряжно.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
tommy-gung
На сайте с 22.11.2006
Offline
304
#4

разместить вне <? ?>

т.е.


<?
//какой-то php-код
?>

ваш клиентский код

<?
//какой-то php-код
?>
Здесь не могла быть ваша реклама
topy
На сайте с 28.03.2006
Offline
142
#5

У вас тут гора кавычек - замучаетесь экранировать. Проще закрыть дескриптор ?> а потом его открыть снова <?php

Новости коротко и ясно (https://subnews.ru)
M
На сайте с 21.02.2008
Offline
46
#6

Иногда невозможно вставить вне кода пхп т.к они могут быть зависимыми...

Использую прогу PHP Master Editor.

Выделяем текст заменить " на \".

Это не сильно долго...

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#7
Markig:
Иногда невозможно вставить вне кода пхп т.к они могут быть зависимыми...

Использую прогу PHP Master Editor.
Выделяем текст заменить " на \".
Это не сильно долго...

для этого есть способ #3 от edogs

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Unlock
На сайте с 01.08.2004
Offline
786
#8

edogs, для 1-го варианта, как должен выглядеть файл php с javascript кодом?

Типа такого:

<?php

javascript code

?>

Или что-то упустил?

edogs software
На сайте с 15.12.2005
Offline
775
#9

Unlock, просто яваскрипт код. Без лишних тэгов.

readfile просто читает файл и выводит его "на экран" - как есть, в хтмл. Если Вы напишите пхп тэги в этом файле, то он и их выведет.

file_get_contents просто читает файл в переменную. А echo просто выводит содержимое переменной.

И всё это без доп. преобразований, обработки или еще чего-либо.

Видимо запутали php расширением? Сорри. Можно с тем же успехом (и возможно так даже лучше) положить в js.txt и использовать readfile("js.txt");

Поэтому никаких дополнительных ухищрений в файле с яваскриптом не нужно, тем и хорошо такое хранение. Опять же очень удобно всякие счетчики и прочее туда совать, что бы потом если что не менять пхп код.

D
На сайте с 17.02.2008
Offline
11
#10

Unlock, а чем предложенный выше вариант не нравится?

readfile("js.php");

красиво :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий