哪个是“净化”内容的最佳方式?一个例子...用PHP清理内容的最佳方法是什么?
示例 - 之前的sanitize:
Morbi mollis ante vitae massa suscipit a tempus est pellentesque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla mattis iaculis consectetur.
Morbi mollis ante vitae est pellentesque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla mattis iaculis consectetur.
示例 - sanitize方法后:
<p>Morbi mollis ante vitae massa suscipit a tempus est pellentesque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla mattis iaculis consectetur.</p>
<p>Morbi mollis ante vitae est pellentesque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla mattis iaculis consectetur.</p>
它应该做的
- 它应该添加p标签而不是换行符。
- 它应该删除空白空间,如tripple空间
- 它应该删除双重换行符。
- 它应该删除标签。
- 它应该删除内容之前的换行符和空格(如果有)。
- 它应该删除内容后的换行符和空格(如果有)。
我知道我使用str_replace
函数,它应该是一个更好的解决方案吗?
我想要的功能看起来像这样:
function sanitize($content)
{
// Do the magic!
return $content;
}
这要看是什么样的“引擎”您要使用。用户输入HTML或某种BB/Wiki代码或者作为stackoverflow使用Markdown? – raspi 2010-03-21 14:16:07
为什么你称之为“消毒”,而它看起来只是格式化?使用str_replace看起来像o.k.你可以发明一些奇特的正则表达式来做到这一点,但我怀疑它可能是可靠的。 trim()和几个带数组参数的str_replace()将完成所有工作。 – 2010-03-21 14:17:43
内容未格式化,只是文本和不需要的字符。 这是格式化和消毒的组合。我想删除不需要的东西(消毒),并想添加段落。谢谢你的评论! – 2010-03-21 14:24:10