Я нахожу это очень странным, должно быть что-то я делаю не так, но все же ... Я работаю над страницей с использованием файлов PHP и TPL. В моем файле TPL в нижнем колонтитуле есть место для дополнительных строк, если это необходимо.
Например, проверка формы с помощью Javascript.
поэтому в PHP я сделал это:
$foot = "<script type=\"text/javascript\">if (document.getElementById){loadEvents();}</script>";
затем анализируется переменная $ foot, и результат в HTML следующий:
<script type = "text/javascript">if (document.getElementById)</script>
Итак, {loadEvents();} пропал.
Кто-нибудь видит, что мне здесь не хватает ... Я серьезно не нахожу. Я забыл сбежать от персонажа или типа того?
Может быть, было бы неплохо сказать людям, что вы используете шаблонизатор, вместо того, чтобы позволить им догадываться.






Я считаю, что с помощью {} PHP ожидает наличие переменной внутри них. Я не тестировал это, но попробуйте использовать одинарные кавычки вместо двойных кавычек.
-1, потому что php не анализирует {var} как переменную. Он использует $ var, $ {var} или {$ var}.
Я не сказал {var} ...? Все, что я сказал, это то, что он ожидает переменную; в этом случае да, это будет похоже на {$ var}
Очевидно, что шаблонизатор, который вы используете разъедает часть в фигурных скобках.
Попробуйте что-нибудь вроде:
$foot = "{literal}<script type=\"text/javascript\">if (document.getElementById){loadEvents();}</script>{/literal}";
не работает, я также заметил, что последняя кавычка в вашем решении двойная, исправлена, все еще не работает
да. Увидел это слишком поздно, исправил.
-1, потому что это просто не истинное эхо "{1 + 1}"; не будет выводить "2". {} В двойных кавычках используется только для устранения неоднозначности переменных, например "он выпил немного пива". Проблема здесь, скорее всего, в движке шаблонов, и в этом случае исправление будет зависеть от того, какой движок использовался.
Это неверно - строка $ foot = "<script ... etc. вычисляется правильно.
Мне не было ясно, что здесь задействован шаблонизатор. Хотя следовало подумать об этом.
шаблонизатор или нет, "1 + 1 = {1 + 1}" не оценивается как "1 + 1 = 2"
Верно, но поскольку мне все равно пришлось полностью изменить свой ответ, это больше не актуально.
удалено -1, но я не уверен, что smarty все равно проанализирует переменную, созданную в PHP. конечно, он будет анализировать только файлы .tpl.
Похоже, вы используете механизм шаблонов, такой как Smarty, который пытается проанализировать все, что находит в фигурных скобках.
Эта страница из документации smarty объясняет, как заставить smarty игнорировать разделы, которые он иначе анализировал бы.
Если вы используете smarty, вы можете использовать {literal}.
Вы имеете в виду Smarty под файлами TPL? Как $ foot попадает в tpl файл?