在一行中显示HTML和PHP代码

use*_*298 3 html php

我想显示这句话:

?>
<h2>Date <?php echo "$day"."/"."$month"."/"."$year"."<br>"; ?></h2>
<?php
Run Code Online (Sandbox Code Playgroud)

我试过了:

echo '<h2>Date '$day'.'/'.'$month'.'/'.'$year'.'<br>' </h2>';
echo '<h2>Date <?php echo \"$day/\".\"/\".\"$month\".\"/\".\"$year\".\"<br>\"; ?></h2>';
Run Code Online (Sandbox Code Playgroud)

没有成功.

如果一行包含HTML和PHP代码,那么显示它的正确格式是什么?

TiM*_*TER 8

你有一个"点乱".

您可以将PHP变量和字符串连接起来

<?pho echo 'string' . $var . 'string' . $var1 . $var2; // and so on ?>
Run Code Online (Sandbox Code Playgroud)

所以正确的解决方案是

<?php

echo '<h2>Date ' . $day . '/'. $month .'/' . $year .'<br></h2>';
echo '<h2>Date ' , $day , '/', $month ,'/', $year ,'<br></h2>';

echo "<h2>Date $day/$month/$year<br></h2>";
echo "<h2>Date {$day}/{$month}/{$year}<br></h2>";

?>
Run Code Online (Sandbox Code Playgroud)

您甚至可以使用逗号,来回显更快的字符串和变量.原因PHP不会将所有部分合并为一个字符串并回显它,但是将每个部分分开回显(因此需要的操作更少).

请注意,如果将字符串放在双引号中",则可以使用字符串$var{$var}字符串内部,因为PHP正在查看双引号字符串中的PHP变量,并用它们的包含值替换它们.

但最快的解决方案是,分离版本.

要么

正如lonesomeday提到的C那样,在PHP中也有类似的解决方案

<?php printf('<h2>Date %s/%s/%s<br></h2>', $day, $month, $year); ?>
Run Code Online (Sandbox Code Playgroud)

或(但不是我推荐)

复杂且无法读取的版本

<h2>Date <?php echo $day; ?> / <?php echo  $month; ?> / <?php echo $year; ?><br></h2>
Run Code Online (Sandbox Code Playgroud)

以上代码的缩短版本(仅用于完整性,短标签必须在低于5.4的PHP版本中启用才能工作)

<h2>Date <?= $day; ?> / <?=  $month; ?> / <?= $year; ?><br></h2>
Run Code Online (Sandbox Code Playgroud)

有关字符串连接的更多信息,请阅读关于字符串操作的官方PHP文档站点.


lon*_*day 7

最好的方法是使用printf,根据占位符将变量替换为字符串:

printf('<h2>Date %s/%s/%s<br></h2>', $day, $month, $year);
Run Code Online (Sandbox Code Playgroud)