我有这个有趣的功能,我用它来创建段落的新行。我正在使用它而不是nl2br()函数,因为它输出更好的格式化文本。
function nl2p($string, $line_breaks = true, $xml = true) {
$string = str_replace(array('
', '
', '', '
'), '', $string);
// It is conceivable that people might still want single line-breaks
// without breaking into a new paragraph.
if ($line_breaks == true)
return '
'.preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^\n
", '
'), trim($string)).'
else
return '
'.preg_replace(
array("/([\n]{2,})/i", "/([\r\n]{3,})/i","/([^>])\n([^
array("
\n", "
\n", '
'),
trim($string)).'
';}
问题是每当我尝试创建一个换行符时,它会无意中删除它下面段落的第一个字符。我对正则表达式不太熟悉,无法理解导致问题的原因。
非常感谢您提供的任何帮助。