我有一大串有效的HTML代码将插入到DOM中,该字符串还包含PHP代码。我想将php代码显示为纯文本,Chrome会自动注释掉PHP代码。显然PHP代码包含在<?php ... ?>
中,所以我的问题是:
如何使用<?php
标记替换打开的<span>
,并将?>
替换为</span>
以关闭打开的<span>
标记,以便PHP代码在<span>
标签内,因此可以作为纯文本显示?
编辑:我将通过替换span来将PHP代码包装回<?php ?>
,因此转义字符会使这更难。
答案 0 :(得分:1)
你可以逃脱它。
自: https://css-tricks.com/snippets/javascript/htmlentities-for-javascript/
function htmlEntities(str) {
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
答案 1 :(得分:1)
正如您所说HTML是一个字符串,您可以轻松地使用replace()
函数。
var html = // your html
var sanitized = html.replace(/<\?php/g, "<span>").replace(/\?>/g, "</span>");
答案 2 :(得分:0)
使用正则表达式
RegExp101是一个很棒的游乐场。 请记住将左侧菜单中的风味更改为 JavaScript 。
最简单的方法是使用.replace()
功能。
var str = str.replace(/(<\?php)|(<\?)|(<\?=)/g, '<span>').replace(/(\?>)/g, '</span>');
修改:根据Get Off My Lawn的要求,我已添加对<?=
和<?
代码的支持。管道|
代表正则表达式中的或。