相关疑难解决方法(0)

段落功能的新行

我有这个有趣的功能,我用它来创建段落中的新行.我正在使用它而不是nl2br()函数,因为它输出更好的格式化文本.

function nl2p($string, $line_breaks = true, $xml = true) {

$string = str_replace(array('<p>', '</p>', '<br>', '<br />'), '', $string);

// It is conceivable that people might still want single line-breaks
// without breaking into a new paragraph.
if ($line_breaks == true)
    return '<p>'.preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^<])/i"), array("</p>\n<p>", '<br'.($xml == true ? ' /' : '').'>'), trim($string)).'</p>';
else 
    return '<p>'.preg_replace(
    array("/([\n]{2,})/i", "/([\r\n]{3,})/i","/([^>])\n([^<])/i"),
    array("</p>\n<p>", "</p>\n<p>", '<br'.($xml == true ? ' /' : '').'>'),

    trim($string)).'</p>'; 
Run Code Online (Sandbox Code Playgroud)

}

问题是每当我尝试创建一个换行符时,它会无意中删除它下面段落的第一个字符.我对正则表达式不太熟悉,无法理解造成问题的原因.

非常感谢您提供的任何帮助.

php regex

27
推荐指数
3
解决办法
3万
查看次数

在P标签中包裹文本

我想弄清楚如何包装这样的文字:

Morbi nisl tortor,consectetur vitae laoreet eu,lobortis id ipsum.整数scelerisque blandit pulvinar.Nam tempus mi eget nunc laoreet venenatis.Proin viverra,erat at accumsan tincidunt,ante mi cursus elit,non

争论mauris dolor ac elit.Maecenas mollis nisl sem semper ornare.整数nunc purus,dapibus nec dignissim sed,dictum eget leo.Etiam in mi ut erat pretium fringilla sed

进入这个:

<p> Morbi nisl tortor,consectetur vitae laoreet eu,lobortis id ipsum.整数scelerisque blandit pulvinar.Nam tempus mi eget nunc laoreet venenatis.Proin viverra,erat at accumsan tincidunt,ante mi cursus elit,non </ p>

<p>认识mauris dolor ac elit.Maecenas mollis nisl sem …

php regex tags

9
推荐指数
1
解决办法
9522
查看次数

如何使用段落标记包围所有文本片段?

我想在任何文本项周围放置段落标记.因此,它应该避免使用表格和其他元素.我怎么做?我想它可以用preg_replace以某种方式制作?

php regex preg-replace paragraph

6
推荐指数
1
解决办法
8462
查看次数

在php中&lt;p&gt;的新行

我目前在用nl2br()格式化的数据库中有很多笑话,这会产生...

This is just dummy text. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<br /><br />
Vestibulum gravida justo in arcu mattis lacinia. Mauris aliquet mi quis diam euismod blandit ultricies ac lacus.
<br /><br />
Aliquam erat volutpat. Donec sed nisi ac velit viverra hendrerit.
<br />
Praesent molestie augue ligula, quis accumsan libero.
Run Code Online (Sandbox Code Playgroud)

我需要一个php函数,而不是转换<br /><br />为a <p></p>,如果只有1个,<br />那就别管它了。还修剪任何空格

因此最终结果将是...

<p>This is just dummy text. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> …
Run Code Online (Sandbox Code Playgroud)

php nl2br

4
推荐指数
1
解决办法
9207
查看次数

用 &lt;p&gt; 标签替换换行符

我有一个带有 textarea 的表单,我想将输入的换行符更改为段落(使用<p>标签)。我使用explode 和implode 替换\n</p><p>,但是如果您连续有两个换行符,则以</p><p></p><p>. 我正在尝试使用 foreach 循环来遍历每个元素并检查它是否为空以解决这个问题,但它似乎根本不起作用。这是我所拥有的:

foreach($text as $value){
    if($value!=''){
        $newtext.='</p><p>'.$value;
    }
}
Run Code Online (Sandbox Code Playgroud)

这仍然</p><p></p><p>适用于双倍间距的东西。我也尝试替换if($value!='')!is_null(trim($value)),但它仍然不起作用。我的代码有什么问题,我该如何解决?

php

4
推荐指数
1
解决办法
4571
查看次数

标签 统计

php ×5

regex ×3

nl2br ×1

paragraph ×1

preg-replace ×1

tags ×1