哪個是「淨化」內容的最佳方式?一個例子...用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