我现在已经玩了几个小时了,并且很好奇其他人对最佳方法的看法。
我正在制作各种类型的CMS,我希望能够发布代码段。
我希望能够用解释性文字的段落包围所述片段。
我想要的是:
/n
的str_replace </p><p>
。[CODE][/CODE]
标记中包含的内容无法格式化,并且htmlspecialchars()
已应用于此标记,以便不执行任何代码。我可以通过使用匹配文本的preg_replace_callback并在回调函数中应用htmlspecialchars来实现后一点。
我认为前一点我可以简单地做反表达式,但这似乎是错误的做法。
有人可以提出建议吗?
修改
示例代码: 到目前为止我所拥有的......
function format_it($matches)
{
return "<pre class='prettyprint'>" . htmlspecialchars($matches['1']) . "</pre>";
}
$content=preg_replace_callback('#\[code\](.*)\[/code\]#isU', "format_it", $content);