Solved

issue with \n\r and nl2br

Posted on 2011-02-24
8
459 Views
Last Modified: 2012-05-11
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?
0
Comment
Question by:joomla
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 34

Expert Comment

by:gr8gonzo
ID: 34975333
Try:
$var = str_replace("\\\\r\\\\n","<br/>",$var);
0
 

Author Comment

by:joomla
ID: 34976328

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
 
LVL 34

Expert Comment

by:gr8gonzo
ID: 34976718
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
 

Author Comment

by:joomla
ID: 34976734
Hi gr8gonzo:
thanks for feedback
unfortunately your suggested didn't work
regards
M
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 34

Expert Comment

by:gr8gonzo
ID: 34976741
What does your code look like right now?
0
 
LVL 27

Accepted Solution

by:
Lukasz Chmielewski earned 125 total points
ID: 34977428
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
 
LVL 5

Expert Comment

by:onemadeye
ID: 34992480
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
 
LVL 5

Expert Comment

by:onemadeye
ID: 34992504
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now