我使用预标签在我的网站上显示代码,这些代码片段包含html和php。
到目前为止,我已经使用Jquery将代码中的html转换为纯文本,但是php标记仍在执行中。
用于将pre的html内容转换为纯文本的代码:
$(document).ready(function(){
$("pre").text($("pre").html());
});我用它做的一个例子是:
<pre>
<p>paragraph Content</p>
<h1>html code</h1>
<?php echo "this is php example code"; ?>
</pre>前2行在浏览器中完美地显示标记和所有内容,但是第三行执行php标记,只呈现这个php示例代码。有人能帮我吗?这样我就可以在代码片段中显示php标记了吗?
此外,如果有人知道更好的解决方案,将html/css和php作为代码片段呈现在您的网站上,这将是非常有帮助的。
发布于 2013-03-14 09:40:39
您的方法的问题是,在浏览器处理文件之后,您试图影响呈现。当您查看页面的源代码时,您会注意到,其中实际上没有“这个php示例代码”,因为服务器解析了代码的这一部分并执行了它,这只会导致您放入echo命令中的字符串。
您需要在将输出发送到客户端之前处理它,并获取<pre>和</pre>的所有出现情况,以便用各自的<实体替换它们之间的所有<和>。
看看这个问题,找出解析HTML的最佳方法,并获得适当的元素以进行修改。
发布于 2013-03-14 09:37:58
您应该转义<和>符号--分别用它们的<和>替换它们;)
如果您想要对HTML实体进行全面和全面的转换,请尝试在http://centricle.com/tools/html-entities上转换它们。
通常,在代码块中将所有符号转换为各自的HTML实体是很好的做法。
发布于 2013-03-14 09:38:01
尝试将<?php ... ?>替换为
<? .... >
https://stackoverflow.com/questions/15405586
复制相似问题