/ / wstaw ciąg do zmiennej za pomocą <? ?> - php, html, tagi

wstawić ciąg w zmiennej używając <? ?> - php, html, tagi

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 № 1

Powinieneś 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.