[英]Do I need to escape this?
可能有点不寻常,但是我需要回显<?php
。 但是,我认为PHP将其视为实际的<?php
并开始执行代码,而不是将其视为字符串。 我如何才能转义<?php
和?>
以便将它们视为字符串? 手册中没有关于此的任何内容。
谢谢,我知道这有点不寻常。
只需使用htmlentities函数
<?php echo“ <?php echo \\” hello \\“?>”?>
打印出<?php echo“ hello”?>
查看有关如何打印数据的PHP函数源代码。
http://in2.php.net/source.php?url=/manual/zh/function.htmlentities.php
您可以使用<
和>
html实体(以替换“ <”和“>”)。 这些仅在浏览器中处理,因此PHP不会尝试运行该代码。
在HTML中,
<?php
或在PHP中:
echo htmlentities('<?php');
如果这是您的代码:
<?php
echo '<?php';
?>
当您将其作为网页运行时,您什么也看不到。 但这不是因为PHP没有回显您的字符串<?php
,而是因为浏览器看到了<
并认为这是标记的开始,并且标记未显示。 显然这是一个错误,但这就是浏览器正在执行的操作。
要解决此问题,请转义<
部分,使用htmlentities()
:
<?php
echo htmlentities('<?php');
?>
当其回显时,将导致以下HTML源:
<php
在浏览器中显示时显示:
<?php
如果在字符串中回显它们,则将不会执行它们。
echo '<?php ?>'; // prints <?php ?>
echo "<?php ?>"; // prints <?php ?>
不,您不必做任何特别的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.