issue with \n\r and nl2br

I'm passing a variable in my URL
index.php?p=this\r\ntext

using $_GET[var] I'm getting this\\r\\ntext

why is \r\n being modified to \\r\\n

nl2br() won't work in my variable

replace_sub("\\r\\n","<br/>", $var) doesn't work either ?

can you help?
joomlaAsked:
Who is Participating?
 
Lukasz ChmielewskiConnect With a Mentor Commented:
Step by step. Does this work:


<?php
$var=$_GET[p];

//what $var gets is "\\r\\n"   (don't understand why the change.   as I inputed "\r\n")

$unwanted="\\\\n";
$wanted="\n";
$var= str_replace($unwanted,$wanted,$var); 

$unwanted="\\\\r";
$wanted="\r";
$var= str_replace($unwanted,$wanted,$var); 

?>
<textarea><?php echo"$var";?></textarea>

Open in new window

0
 
gr8gonzoConsultantCommented:
Try:
$var = str_replace("\\\\r\\\\n","<br/>",$var);
0
 
joomlaAuthor Commented:

this is how far I seem to get
index.php?p=separate\r\nlines

$var=$_GET[var];

what $var gets is "\\r\\n"   (don't understand why the change.   as I inputed "\r\n")

$unwanted=array("\r","\n","\r\n","\\r\\n","\\r\\n");
$wanted="<br/>";
$var= str_replace($unwanted,$wanted,$var);

results in $var = separate<br/>lines

when I put this in the text area it shows
separate<br/>lines

I wanted it to show
separate
lines

thanks for any help


0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
gr8gonzoConsultantCommented:
If you want it on separate lines in a text area, you don't need to use <br/> - text areas pay attention to line breaks. Just change $wanted = "\r\n"; and you should see what you're looking for.

The problem is that by default, PHP tries to automatically escape special characters that are entered via the query string. It's a security thing, which you can turn off, but  that's not recommmended. It's better to simply fix any specific cases like this.
0
 
joomlaAuthor Commented:
Hi gr8gonzo:
thanks for feedback
unfortunately your suggested didn't work
regards
M
0
 
gr8gonzoConsultantCommented:
What does your code look like right now?
0
 
onemadeyeCommented:
This is simple codes and should be working ...
NOTICE the way I use single quotes and double quotes in str_replace
$var = $_GET['p'];
$var = stripslashes($var);
// Turning \r\n to breakspace in textarea
echo '<textarea>'.str_replace('\r\n', "\r\n", $var).'</textarea>';

Open in new window


Regards...
0
 
onemadeyeCommented:
And here's for the learning purposes (for those who wonder) :-)
<?php

// \r\n on single quotes
$var1 = 'NO break \r\n space';
// \r\n on double quotes
$var2 = "YES break \r\n space";

// echo $var1 in TEXTAREA
echo 'Var#1: <textarea>'.$var1.'</textarea>';
// echo $var2 in TEXTAREA
echo 'Var#2: <textarea>'.$var2.'</textarea>';

?>

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.