如何使用PHP Print函数打印含PHP代码的HTML标签并正常解析执行
问题根因
你当前的写法把需要执行的echo "Hello"逻辑放在了print输出的单引号字符串内部,同时在已有的PHP代码块里嵌套了第二层<?php ?>标签,这种写法会导致两个问题:
- PHP解析器只会把单引号包裹的内容判定为普通字符串,不会执行字符串内部的任何PHP逻辑
- 输出到浏览器的内容里包含的
<?php标签不属于前端HTML可识别标签,浏览器会直接把整段内容当作文本渲染,自然不会输出你想要的Hello效果
正确实现方案
不要在PHP代码块内部嵌套PHP标签,根据需要选下面任意一种写法即可:
- 分段输出标签和内容
<?php print '<h1>'; echo 'Hello'; print '</h1>'; ?>
- 直接把内容整合到输出字符串里,无需额外套echo逻辑
<?php print '<h1>Hello</h1>'; ?>
- 如果
Hello是动态生成的内容,直接把执行结果拼接到输出字符串中即可
<?php $word = 'Hello'; print "<h1>{$word}</h1>"; // 单引号写法用连接符拼接也可以 // print '<h1>' . $word . '</h1>'; ?>
关键提醒:PHP解析器只会识别最外层的
<?php ?>标签作为代码执行边界,标签内部再写的<?php都会被当成普通文本处理,不会触发二次解析。
内容的提问来源于stack exchange,提问作者John Kindermann
相关产品推荐
相关产品推荐

