Мисля, че понякога е по-лесно да използвате php тагове вместо echo например
<?
if()
echo "<img src="/images/" onclick="alert("hello")"/>";
?>
вместо това аз код като този
<?
if(){
?>
<img src="/images/" onclick="alert("hello")"/>
<?}
?>
Ние се отървахме от обратното накланяне. Но какво да кажем за низове, които искам нещо такова:
<?
$str="?>
<img src="/images/" onclick="alert("hello")"/>
<?";
?>
Отговори:
6 за отговор № 1Трябва да използвате синтаксиса на PHP heredoc:
<?php
$str = <<<IMGTAG
<img src="/images/" onclick="alert("hello")"/>
IMGTAG;
echo $str;
?>
Насладете се на кода си.
1 за отговор № 2
Има алтернативен Синтаксис специално за този вид формиране:
<?php if (x): ?>
<div>...</div>
<?php endif; ?>
Също така има къси маркери:
<?= "hello world" ?>
Това директно отпечатва низ и е равен на:
<?php echo "hello world" ?>
За задаване на низове можете да направите това, което Magicianred предложи. Можете да го направите и с буфериране на изходни данни:
<?php ob_start(); ?>
<div>test</div>
<?php
$str = ob_get_contents();
ob_end_clean();
echo $str;
?>
Въпреки че не бива да се злоупотребява с буферирането на изхода, синтаксисът на Heredoc е най-доброто решение тук.