Myślę, że czasem łatwiej jest na przykład użyć tagów php zamiast echa
<?
if()
echo "<img src="/images/" onclick="alert("hello")"/>";
?>
zamiast tego koduję w ten sposób
<?
if(){
?>
<img src="/images/" onclick="alert("hello")"/>
<?}
?>
Pozbyliśmy się odwrotnego ukośnika. Ale co z ciągami, chcę czegoś takiego:
<?
$str="?>
<img src="/images/" onclick="alert("hello")"/>
<?";
?>
Odpowiedzi:
6 dla odpowiedzi № 1Powinieneś użyć składnia heredoc PHP:
<?php
$str = <<<IMGTAG
<img src="/images/" onclick="alert("hello")"/>
IMGTAG;
echo $str;
?>
Życzymy udanego kodu.
1 dla odpowiedzi nr 2
Tam jest alternatywna składnia specjalnie dla tego rodzaju formacji:
<?php if (x): ?>
<div>...</div>
<?php endif; ?>
Są też krótkie tagi:
<?= "hello world" ?>
To bezpośrednio drukuje ciąg znaków i jest równe:
<?php echo "hello world" ?>
Aby przypisać ciąg znaków, możesz zrobić to, co sugerował Magicianred. Możesz to również zrobić z buforowaniem danych wyjściowych:
<?php ob_start(); ?>
<div>test</div>
<?php
$str = ob_get_contents();
ob_end_clean();
echo $str;
?>
Chociaż nie należy nadużywać do tego buforowania danych wyjściowych. Najlepszym rozwiązaniem jest tutaj składnia Heredoc.