Req #64639 [Com]: Add third parameter to nl2br
| From: | ajf@php.net | Date: | Sun, 04 Jan 2015 20:26:44 +0000 |
| Subject: | Req #64639 [Com]: Add third parameter to nl2br | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-189648@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=64639&edit=1
ID: 64639
Comment by: ajf@php.net
Reported by: valentiny510 at yahoo dot es
Summary: Add third parameter to nl2br
Status: Open
Type: Feature/Change Request
Package: *General Issues
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Like Nikita, I don't see the point here. Within a <pre> you don't need to use
nl2br(). Outside of a <pre>, you need to use nl2br(). Either way, the new-lines will be kept
and your source code will be readable.
The only argument for this would be efficiency. But it's not a massive saving, it's 20%
off... but only for line endings.
Previous Comments:
------------------------------------------------------------------------
[2014-03-06 12:30:15] narf at devilix dot net
The bigger issue here is how you'd reverse the process. Without knowing that the function just
adds instead of replacing, one would try the following:
function br2nl($string, $is_xhtml = TRUE)
{
return str_replace(
$is_xhtml ? '<br />' : '<br>',
PHP_EOL
);
}
The problem is that this would result in doubling the newline characters.
------------------------------------------------------------------------
[2013-07-13 01:42:30] valentiny510 at yahoo dot es
As additional note..
If I can have linebreaks and nicely formated text in just one function, why don't do'it ?
I don't think is such a big deal, or should change the name to something like
"addbr2nl", it will be more "correct"..
------------------------------------------------------------------------
[2013-07-13 01:33:11] valentiny510 at yahoo dot es
Nikic, 2 booleans parameters for you are "too many unclear boolean parameters"
LOL...
------------------------------------------------------------------------
[2013-05-03 08:13:28] nikic@php.net
In my eyes this is an unnecessary change. nl2br handles the common case, where you want to have
linebreaks displayed and have the code nicely formatted at the same time. This is what nl2br does
and I don't think it need to do any more.
I don't see why we should add support for incorrect usages of the function inside <pre>.
And in any case, if you should have need for this (for whatever odd reason), then it is trivial to
write yourself. Quite honestly I think that preg_replace('#([\r?\n]+)#',
'<br>', $string) is a good bit clearer than nl2br($string, false, true). That's
just too many unclear boolean parameters.
------------------------------------------------------------------------
[2013-05-03 07:01:13] octavianmarinescu at tavi dot ro
yes would be a shorter and more elegant solution
nl2br($str, false, true);
nice and clean..
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=64639
--
Edit this bug report at https://bugs.php.net/bug.php?id=64639&edit=1