donate to charity, donations, charity donation,donate online, online donation,donate money, car insurance, auto insurance,insurance quote,hospital staffing software hospital software, Business,VoIP,solutions,medical practice ,donate, car, charity CALIFORNIA, donate car, charity hospital

nl2br() function in PHP

While working with the RW/LL WAP community script, I noticed a bug(???), better say unexpected behaviour in nl2br() PHP library function. I had a function for processing bbcodes. I added the nl2br() in it to convert all the enter/return presses into the xhtml <br /> tags. But I noticed, in the forum posts all other bbcodes didn't work whenever a call to nl2br() occured due to enter presses. After fiddling with a lot of sequences(which I later found to be illogical on my part) of the processing lines of codes for bbcodes and the nl2br() function, I figured out that the problem is not with my code but PHP's implementation of the nl2br() function. So, with the help of the nl2br() manual comments on php.net I wrote my own nl2br() function as follows:

function nl2br1($text){
$text=str_replace(array("\r\n", "\r", "\n"), "[br/]", $text);
return $text;
}


Well, the above function takes into concern that:
On Windows the enter key press means "\r\n",
On Linux/UNIX/BSD and other UNIX derivatives the enter key press means "\n"
and on a Mac, it is "\r\".
Probably the built in nl2br() in PHP is implemented differently, so the glitch appeared.

No comments :

Post a Comment