我构建了一个简单的站点,允许用户共享代码,将代码保存在数据库中作为HTML。 e.g。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=1024">
<title></title>
</head>
<body id="" class="">
</body>
</html>
我遇到的问题是在网站上显示它以供其他人查看,当我将数据库吐出的内容包裹在<code><pre></pre></code>
内时,它仍会呈现HTML并且不会将其视为要显示的代码。我已经读过你必须使用>
来解决这个问题,但这是不可行的,因为用户将共享原始代码,并且无法开始将代码转换为像这样的html实体!我该如何解决?感谢。
以下是将表单插入数据库的表单代码:http://pastebin.com/i3pn2AjT
这就是我目前的显示方式:
<div class="code">
<pre>
<?php echo get_post_meta($posts_post_id, 'post_code', true); ?>
</pre>
</div>
答案 0 :(得分:7)
您需要在显示时或插入时转义HTML代码。
从您之前的问题看,您似乎在使用PHP。您可以使用htmlentities()
实现此目的。
例如:
<code><?php echo htmlentities($userSuppliedHTML, ENT_QUOTES, 'UTF-8'); ?></code>
答案 1 :(得分:0)
您可以像这样尝试php函数“ def extract_day(name):
match = re.search('abc_2017-07-(\d{2})\.tar', file)
try:
day = match.group(1)
except :
day = None
return day
”:
highlight_string();
它将('input')输出为带有颜色编码的字符串。 看看它的php文档:http://php.net/manual/en/function.highlight-string.php