我的代码工作如下:
- 文本到达服务器(来自 textarea)
- 文本通过 trim() 然后 nl2br
但是正在发生的事情是添加<br>
但没有删除新行,所以
"
something"
变成
"<br>
something"
这增加了一个双新行。请帮助这个错误正在破坏所有格式,我可以根据要求提供更多代码。
帖子创建:缩短创建方法(仅显示相关位)创建方法:
BlogPost::Create(ParseStr($_POST['Content']));
ParseStr 运行:
return nl2br(trim($Str));
查看帖子:
echo "<span id='Content'>".BlogPosts::ParseBB(trim($StoredPost->Content))."</span>";
ParseBB 运行:
$AllowedTags = array(
// i => Tag, Tag Replacement, Closing tag
0 => array("code","pre class='prettyprint'",true),
1 => array("center","span style='text-align:center;'",true),
2 => array("left","span style='text-align:right;'",true),
3 => array("right","span style='text-align:left;'",true)
);
$AllowedTagsStr = "<p><a><br><br/><b><i><u><img><h1><h2><h3><pre><hr><iframe><code><ul><li>";
$ParsedStr = $Str;
foreach($AllowedTags as $Tag)
{
$ParsedStr = str_replace("<".$Tag[0].">","<".$Tag[1].">",$ParsedStr);
if($Tag[2])
$ParsedStr = str_replace("</".$Tag[0].">","</".$Tag[1].">",$ParsedStr);
}
return strip_tags($ParsedStr,$AllowedTagsStr);
示例:我 所看到的:显示的内容: