停止PHP回显特定标记(但仍回显其他标记)
我一直在想,是否有可能从打印中“黑名单”特定的HTML标记(但仍然允许其他标记回显,所以不必去除_标记) 因此,基本上,如果我想阻止停止PHP回显特定标记(但仍回显其他标记),php,html,Php,Html,我一直在想,是否有可能从打印中“黑名单”特定的HTML标记(但仍然允许其他标记回显,所以不必去除_标记) 因此,基本上,如果我想阻止h1标记,而不是: 你好,世界 我的代码会回显: <h1>Hello World</h1> 你好,世界 你们中的任何人都知道这是否可能,如果可能,我应该怎么做才能实现这一点?实现标记不可渲染的一种方法是使用大括号中的字符实体替换标记。例如: $string = "<h1>foobar</h1>"; $unrende
h1
标记,而不是:
你好,世界
我的代码会回显:
<h1>Hello World</h1>
你好,世界
你们中的任何人都知道这是否可能,如果可能,我应该怎么做才能实现这一点?实现标记不可渲染的一种方法是使用大括号中的字符实体替换标记。例如:
$string = "<h1>foobar</h1>";
$unrender = str_replace(array('<', '>'), array('<', '>') ,$string);
echo $unrender;
其渲染方式如下:
福巴
下一步是使其成为处理给定字符串中所有标记的基本函数:
function unrender($element) {
$lbracket = '/<(.*?)/';
$rbracket = '/>/';
$l = preg_replace($lbracket, '<', $element);
$r = preg_replace($rbracket, '>', $l);
return $r;
}
$string = "<h1>foobar</h1><br />";
echo unrender($string);
呈现如下:
foobar下一个改进是允许列出黑名单标签。在这一点上,我觉得有义务说,a使这样的表演更容易。以下是提议的过程:
$blacktag=array('h1','h2','p')代码>定位要未渲染的标记(除非使用DOM解析器,否则涉及正则表达式)
/
)。然后,考虑到你可能有这样的东西,一个看起来像标签的东西,不是H20是水,不是标签
这成为一个相当复杂的挑战。即使是传递文本和要取消记录的单个标记的“简单”功能也是一个挑战。我们总是很乐意帮助和支持新的编码人员,但您需要首先帮助自己。:-)如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,然后提供。读一个好问题。一定要认真阅读。@JayBlanchard我以前问过这样的问题。政策改变了吗?问“可能吗”和“如果可能的话我怎么做”的问题太广泛了。@JayBlanchard抱歉,我不知道……我想我知道怎么做我认为你在问什么,但我不确定你在问什么。您是否要求PHP使某些HTML不可还原?
function unrender($element) {
$lbracket = '/<(.*?)/';
$rbracket = '/>/';
$l = preg_replace($lbracket, '<', $element);
$r = preg_replace($rbracket, '>', $l);
return $r;
}
$string = "<h1>foobar</h1><br />";
echo unrender($string);
<h1>foobar</h1><br />