Php htmlspecialchars内部的所有标记<;预处理>&书信电报;代码>;

Php htmlspecialchars内部的所有标记<;预处理>&书信电报;代码>;,php,htmlspecialchars,Php,Htmlspecialchars,我正在从数据库中获取内容: $data=“一些标记一些标记” 我想做的是如下 如果$data中有,则执行一些操作并通过htmlspecialchars()函数传递一些代码。然后像以前一样合并。比如: $data=“一些标记一些标记” 不知道怎么做..在进来的路上对它进行消毒。然后你只有一次机会把它搞砸,让你的网站被黑客攻击,而不是在你使用数据的任何地方都要把它弄对 三",; $code=preg_match('~^(.*)(.*)$~',$data,$matches); var_dump($ma

我正在从数据库中获取内容:

$data=“一些标记一些标记”

我想做的是如下

如果$data中有
,则执行一些操作并通过htmlspecialchars()函数传递
一些代码。然后像以前一样合并。比如:

$data=“一些标记一些标记”


不知道怎么做..

在进来的路上对它进行消毒。然后你只有一次机会把它搞砸,让你的网站被黑客攻击,而不是在你使用数据的任何地方都要把它弄对

三",; $code=preg_match('~^(.*)(.*)$~',$data,$matches); var_dump($matches);
我认为您可能希望使用解析HTML,然后查找
标记之间存在代码的所有实例


然后,您可以获取该文本并对其执行
str\u replace()

等等。。。为什么不通过htmlspecialchars()运行整个字符串?您是否尝试过使用解析它?停止尝试用正则表达式解析非正则语言(又称HTML)。它不工作,它不是HTML。此外,您可以使用正则表达式来提取这样的信息。
$data = 'one<pre><code>two</code></pre>three';
$code = preg_match('~^(.*)<pre><code>(.*)</code></pre>(.*)$~', $data, $matches);
var_dump($matches);