📅  最后修改于: 2023-12-03 15:38:35.329000             🧑  作者: Mango
在PHP中,字符串通常包含HTML代码。为了方便查看和编辑,我们希望在HTML代码中突出显示语法。本文将介绍如何在PHP字符串中突出显示HTML语法。
PHP内置了一个函数highlight_string
,它可以将字符串中的PHP、HTML、JavaScript等代码高亮显示。下面是一个示例:
<?php
$code = '<html>
<head>
<title>我的网站</title>
</head>
<body>
<p>欢迎访问我的网站!</p>
</body>
</html>';
highlight_string($code);
?>
输出结果如下:
<html>
<head>
<style type="text/css">
.hljs-comment {
color: #888888;
}
.hljs-keyword {
color: #007700;
}
.hljs-string {
color: #dd1144;
}
</style>
<title>
<span class="hljs-tag"><<span class="hljs-name">html</span>></span>
</title>
</head>
<body>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span>欢迎访问我的网站!<span class="hljs-tag"></<span class="hljs-name">p</span>></span>
</body>
</html>
可以看到,highlight_string
函数将HTML中的标签、属性等都用不同的颜色进行了区分,以便于我们查看和编辑。
除了使用默认的样式和输出方式之外,highlight_string
函数还支持自定义样式和输出方式。下面是一个示例:
<?php
$code = '<html>
<head>
<title>我的网站</title>
</head>
<body>
<p>欢迎访问我的网站!</p>
</body>
</html>';
// 自定义样式
$style = "
<style type='text/css'>
.hljs-comment {
color: #888888;
}
.hljs-keyword {
color: #007700;
}
.hljs-string {
color: #dd1144;
}
</style>
";
// 自定义输出方式
function my_highlight_string($code, $style) {
$highlighted = highlight_string("<?php\n".$code, true);
$highlighted = str_replace('<?php<br />', '', $highlighted);
$highlighted = str_replace('<br />', '', $highlighted);
$highlighted = str_replace('<?php', '', $highlighted);
$highlighted = preg_replace('/^<code>.+<\/code>/', '', $highlighted);
$highlighted = str_replace(" ", " ", $highlighted);
$highlighted = preg_replace('/\n /', "<br /> ", $highlighted);
return $style.$highlighted;
}
echo my_highlight_string($code, $style);
?>
输出结果如下:
<style type='text/css'>
.hljs-comment {
color: #888888;
}
.hljs-keyword {
color: #007700;
}
.hljs-string {
color: #dd1144;
}
</style>
<span style='color: #007700; '><html></span>
<br /> <span style='color: #007700; '><head></span>
<br /> <span style='color: #007700; '><title></span>我的网站<span style='color: #007700; '></title></span>
<br /> <span style='color: #007700; '></head></span>
<br /> <span style='color: #007700; '><body></span>
<br /> <span style='color: #007700; '><p></span>欢迎访问我的网站!<span style='color: #007700; '></p></span>
<br /> <span style='color: #007700; '></body></span>
<br /><span style='color: #007700; '></html></span>
可以看到,我们自定义了样式和输出方式,使得输出结果更加美观和易于阅读。
在PHP中,使用highlight_string
函数可以非常方便地将字符串中的HTML代码高亮显示。通过自定义样式和输出方式,我们可以进一步定制输出结果,以适应不同的需求。