Jen*_*ell 4 html php string 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.
Run Code Online (Sandbox Code Playgroud)
示例 - 清理后:
<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>
Run Code Online (Sandbox Code Playgroud)
它应该做什么
知道我使用的str_replace功能,它应该是一个更好的解决方案吗?
我希望函数看起来像这样:
function sanitize($content)
{
// Do the magic!
return $content;
}
Run Code Online (Sandbox Code Playgroud)
function sanitize($content) {
// leading white space
$content = preg_replace('!^\s+!m', '', $content);
// trailing white space
$content = preg_replace('![ \t]+$!m', '', $content);
// tabs and multiple white space
$content = preg_replace('![ \t]+!', ' ', $content);
// multiple newlines
$content = preg_replace('![\r\n]+!', "\n", $content);
// paragraphs
$content = preg_replace('!(.+)!m', '<p>$1</p>', $content);
// done
return $content;
}
Run Code Online (Sandbox Code Playgroud)
例:
$s = <<<END
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.
END;
$out = sanitize($s);
Run Code Online (Sandbox Code Playgroud)
输出:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |