如何在PHP中编写PHP代码?我想这样做,但它不起作用:
<?php echo '<?php echo \'aoeu\'; ?>'; ?>
希望有人可以给我一个提示,
非常感谢
答案 0 :(得分:12)
<?php echo htmlentities('<?php echo \'aoeu\'; ?>'); ?>
答案 1 :(得分:3)
如果您输出一些复杂的代码,请务必使用像smarty这样的模板引擎..否则您的代码将看起来完全混乱。
我曾经修改了推进ORM,它输出PHP代码而不使用模板引擎。它基于XML配置文件生成所有模型类。他们的代码很乱。不要这样做。
答案 2 :(得分:2)
<?php echo '<?php echo \'aoeu\'; ?>'; ?>
如果你没有逃避'&lt;'和'&gt;'它们将被打印为html标签。
答案 3 :(得分:2)
试试这个
&LT;&LT;&LT;是Heredoc
<?php
echo <<< EOF
<?php
echo <<< EOF
EOF;
?>
EOF;
?>
答案 4 :(得分:1)
如果你使用highligh_file你可以使用highlight_string或highlight_file你必须指明你要显示的php文件
<?php
highlight_string('<?php echo\'hello\' ?>');
highlight_file("D:\local\ajax_bottom.php");
?>
或者你可以将两者都结合起来为我提供最佳解决方案:
<?php
$string=highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php");
highlight_string("$string");
?>
或者你可以以不同的方式结合:
<?php
highlight_string(highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php"));
?>
答案 5 :(得分:0)
看看nowdoc
答案 6 :(得分:0)
您需要做的就是转义字符串。你做得对了。除非您输出的是HTML,否则请使用htmlspecialchars()。
答案 7 :(得分:0)
<?php echo htmlspecialchars('<?php echo \'aoeu\'; ?>'); ?>
答案 8 :(得分:0)
我假设您正在尝试展示<?php ?>
代码?如果是这样,请使用<
代替<
答案 9 :(得分:0)
这不能以您发布的方式直接完成。
PHP是一种服务器端脚本语言,我相信你知道。这意味着它在向用户显示页面之前执行。
实际上,您的代码是将文本写入浏览器,而不是写入服务器。执行其他php代码生成的php代码的唯一方法是将新代码写入文件,然后在页面加载后运行该文件。
答案 10 :(得分:0)
示例1
<?php echo '<pre>', highlight_string('<?php
include($_SERVER["DOCUMENT_ROOT"] . "/myclass/myform.php");
?>', true), '</pre>'; ?>
答案 11 :(得分:0)
我不确定php引擎需要什么(我会用其他海报的话来说明htmlentities有效),但是使用vim?&gt;最后将使它看起来像PHP代码部分已经结束。
相反,我只是这样做:
string = "<? echo somefunc('strparam'); ?" . ">";
编辑很高兴。如果有更好的方法,请告诉我!
答案 12 :(得分:0)
echo '<div class="row"><div class="col-md-6 col-md-offset-3"><div class="alert alert-success" role="alert"><p style="text-align: center;">'. php code goes here .'</p></div></div></div>';
答案 13 :(得分:0)
作为许多答案的摘要,您可以通过将所有特殊字符更改为其对应的html特殊代码来echo
或print
php和html代码。字符串中至少所有“ << / strong>”个字符应转换为“ &lt ”。有很多方法可以做到这一点:
echo htmlspecialchars("<b>\"á'");
>> <b>"á'
这将转换回显代码所需的所有字符。
echo htmlentities("<b>\"á'");
>> <b>"á'
这与htmlspecialchars
相同,但是还会转换具有相应html代码的所有字符。
值得注意的是single
和double quotes
的行为不同,因为single quotes
不会解释其中的变量,也不会读取转义字符(单引号本身除外)。 / p>
$foo = "value";
echo "I replace $foo with value and \n with line break";
>> I replace value with value and
with line break
echo 'I don\'t replace $foo with value nor \n with line break';
>> I don't replace $foo with value nor \n with line break
还可以使用 heredoc 语法,该语法与double-quoted
字符串相同,但无需在字符串内转义
echo <<<EOF
Your "string' here
EOF;
或 nowdoc 语法相同,但模仿single-quoted
字符串
echo <<<'EOF'
Your "string' here
EOF;
您可以在这里阅读所有有关这些内容: https://www.php.net/manual/es/language.types.string.php