?
Solved

Eliminating <BR> from textarea

Posted on 2009-05-16
10
Medium Priority
?
385 Views
Last Modified: 2013-12-12
I've used a form to input some text into a mysql database where I qualifed what was being inputted using n2lbr to ensure accuracy where the line breaks were concerned.

Problem is, when I go to edit that text in a textarea field, I see this:

Oh man, this is sweet!<br />
<br />
Marj will have no problem typing this in!

I've got to get rid of the <br/> characters as that will completely freak my user out. How can I do it?
0
Comment
Question by:brucegust
  • 4
  • 2
  • 2
  • +1
10 Comments
 
LVL 6

Expert Comment

by:0791882310
ID: 24404158
replace all <br> or whatever with \n in the programming logic before it's inserted into the textarea... like

$finalText = str_replace("<br>" , "\n");
0
 
LVL 34

Expert Comment

by:Beverley Portlock
ID: 24404161
Replace the <br/> with \r\n using str_replace

$textAreaString = str_replace( array("<br>", "<br/>"), "\r\n", $databaseString );
0
 
LVL 34

Expert Comment

by:Beverley Portlock
ID: 24404187
Just noticed that your BRs have a space in them so I have amended the code to include that style as well as the other two. I've added your code so you can see how it is intended to work.

<?php
$databaseString = "Oh man, this is sweet!<br />
<br />
Marj will have no problem typing this in!
";
$textAreaString = str_replace( array("<br>", "<br/>", "<br />"), "\r\n", $databaseString );
echo "<textarea>$textAreaString</textarea>";
?>
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 28

Expert Comment

by:gamebits
ID: 24404195
Actually you should use the nl2br function when you retrieve information from the database, insert directly from the textarea (after using mysql_real_escape_string() function to escape quote ' and double quote " ).
0
 

Author Comment

by:brucegust
ID: 24404199
OK, here's what I've got:
<tr>
<td colspan="2">&nbsp;<BR>
<textarea name="summary"><?php echo stripslashes($summary); ?></textarea>
</td>
</tr>

The textarea code that I have above produces this in the textarea itself:

I've had some experience doing this.<br />
<br />
But I've not always succeeded...

In the next textarea on my page, I went ahead and tried bportlock's suggestion, which looked like this:
<tr>
<td colspan="2">&nbsp;<BR>
<textarea name="body">
<?php $textAreaString = str_replace( array("<br>", "<br/>"), "\r\n", $body );
echo $textAreaString;
?>
</textarea>

...and here's what I got in the actual textarea:

(this first line was indented almost half the page                  Oh man, this is sweet!<br />
<br />
Marj will have no problem typing this in!
</td>
</tr>

So where am I blowing it?
0
 
LVL 6

Expert Comment

by:0791882310
ID: 24404221
really??.. you left the space out in the <br/> tag... <br />
0
 
LVL 34

Expert Comment

by:Beverley Portlock
ID: 24404230
Indeed. I modded this

$textAreaString = str_replace( array("<br>", "<br/>"), "\r\n", $body );

Like this

$textAreaString = str_replace( array("<br>", "<br/>", "<br />"), "\r\n", $body );

it's a few comments up.
0
 

Author Comment

by:brucegust
ID: 24404244
I want to make sure I'm explaining this right, because it may very well be that my problem is the way I'm inputting my text.

Here's what I'm putting in my textarea on the form that's going to input it into my database:

Man, this is sweet!

I can't wait to see what this looks like!

Now, here's the way that I'm "preparing" that text for insertion into my table:

$body = mysqli_real_escape_string($cxn, trim(nl2br($_POST['body'])));

NOW, the problem is when I go to display the text that I've inserted into the database using the method above.

The way that's it's coming from the database to my textarea looks like this:

Man, this is sweet</br>
</br>
I can't wait to see what this looks like.

How do I get rid of the </br> tags so my non-techy users don't see that and freak out?

After reading some of the posts, I was thinking that maybe y'all are thinking I'm having trouble inputting the text. I'm not. It's displaying what I've inputted in a text field after the fact so I can edit it.

0
 
LVL 34

Accepted Solution

by:
Beverley Portlock earned 1000 total points
ID: 24404275
In the examples you gave above, your first one was this


<tr>
<td colspan="2">&nbsp;<BR>
<textarea name="summary"><?php echo stripslashes($summary); ?></textarea>
</td>
</tr>

and in the one where you inserted my code you had this

<tr>
<td colspan="2">&nbsp;<BR>
<textarea name="body">
<?php $textAreaString = str_replace( array("<br>", "<br/>", "<br />"), "\r\n", $body );
echo $textAreaString;
?>
</textarea>

In the first example you have $summary, but in the second example you used $body. Why did it change? When you retrieve the data from the database it obviously goes in a variable. It is that variable that you need to feed into str_replace.

Combining your first example with the second I would expect the following code to work


<tr>
<td colspan="2">&nbsp;<BR>
<textarea name="body">
<?php $textAreaString = str_replace( array("<br>", "<br/>", "<br />"), "\r\n", $summary );
echo  $textAreaString;
?>
</textarea>

0
 
LVL 28

Assisted Solution

by:gamebits
gamebits earned 1000 total points
ID: 24404282
Like I said do not use nl2br to input text in the database and see what happen.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

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

These days socially coordinated efforts have turned into a critical requirement for enterprises.
It’s a season to be thankful, and we’re thankful for users like you who engage on site, solve technology problems, and network with others in the industry. What tech are we most thankful for? Keep reading.
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…
Suggested Courses
Course of the Month13 days, 8 hours left to enroll

749 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