как написать html-код внутри php?

#php #javascript #html

#php #javascript #HTML

Вопрос:

Я хочу написать некоторый html-код на php. В этом html-коде я вызываю функцию javascript. но во время вызова функции возникает проблема. Я думаю, что проблема в кавычках, но я не смог это исправить.

Это html-код, который я хочу поместить внутри php.

 <table>
 <tr>
 <a href="javascript:chng('img');"><img src="s.png" name="img"></a> 
 </tr>
</table>
  

и это мой javascript-код;

 <script type="text/javascript">
img1 = "s.png";
img2 = "k.png";
function chng(c_img) {
if (document[c_img].src.indexOf(img1)!= -1) document[c_img].src = img2;
else document[c_img].src = img1;
} 

</script>
  

Как я могу написать этот html внутри php-кода?

Спасибо

Комментарии:

1. Таблица с одной строкой и без ячеек? Href с javascript: URI? Ссылка без текстового содержимого? Изображение без текста alt? Изображение с атрибутом name? Глобальные переменные в JS? Непонятные сокращения в названиях функций? document.name_of_element? if без {} ? Я думаю, что полдюжины щенков только что умерли.

2. этот код является всего лишь примером. это не мой настоящий код. я просто хочу научиться это делать. затем я помещу ответ в свой реальный код.

Ответ №1:

 <?php

// your php code

?>

<table>
 <tr>
 <a href="javascript:chng('img');"><img src="s.png" name="img"></a> 
 </tr>
</table>

<?php

// your php code

?>

<script type="text/javascript">
img1 = "s.png";
img2 = "k.png";
function chng(c_img) {
if (document[c_img].src.indexOf(img1)!= -1) document[c_img].src = img2;
else document[c_img].src = img1;
} 

</script>

<?php 
  

Комментарии:

1. С удовольствием проголосую против, но заставьте меня исправить, где я ошибаюсь.

2. Не мой негативный отзыв, но это был мой первый инстинкт, но я подумал, что это будет умный ответ. Не мог подумать, что OP когда-либо подразумевал это из while it is calling the function there is a problem? i think the problem is about quotation marks but i couldnt fix it.

3. ..но я думаю, в данном контексте, глядя на этот код, это именно то, что ему нужно было знать.

Ответ №2:

вы также могли бы обернуть свой код в heredoc и повторить его впоследствииhttp://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc

Ответ №3:

вы могли бы повторить html; например

 echo "<table>
 <tr>
 <a href="javascript:chng('img');"><img src="s.png" name="img"></a> 
 </tr>
</table>
";
  

Просто заключите двойные кавычки в обратную косую черту.

Комментарии:

1. спасибо, это работает. но теперь у меня другая ошибка. document[c_img].src не определен [Прервать из-за этой ошибки], если (document[c_img].src.indexOf(img1)!= -1) document [c_img].src = img2; он работал до того, как я поместил html-код внутрь php. но теперь он не работает

Ответ №4:

Вы можете использовать синтаксис PHP heredoc:

var $js = <<<JS

// code

JS;

Экранирование и эхо «<html_code>» — это стиль noob.

Ответ №5:

Используйте скриптлеты и команду echo.

 <?
  echo "<script type="text/javascript">"
?>
  

и пока. Но обратите внимание на маскирующие кавычки знаки и обратную косую черту и т.д.

Ответ №6:

Писать html-теги внутри php-кода нехорошо. Прочитайте о шаблонах для php как Smarty

http://www.smarty.net/