[My EDITED New Question]
I am taking text input in HTML form as <textarea>
. Suppose the user entered the following text:
1. Hello World
2. Hi World
3. Hola
My PHP code is inserting into the table as: 1. Hello World\r\n2. Hi World\r\n\r\n3. Hola
I am displaying this text into a DIV element by using the below method (assume that $text
is retrieved from database):
<div><?php echo $text ?></div>
The output I am getting is: 1. Hello World 2. Hi World 3. Hola
How to get the exact output as user entered? Only importance to me right now is spaces, tabs and new line characters. As mentioned in the below answers, nl2br()
is not suggested. Any other way?
[My Old Question] I want to store formatted text into a mysql table. By formatted, I mean to preserve proper bold characters, italics, underline, spaces, tabs, punctuation marks, newline characters etc.
If the above is not possible, if I can preserve the following formatting then also my requirement is fulfilled:
Is there any data type which can store such data? What about VARCHAR, TEXT and CHAR data types? Please help!
For example: If I type the following text:
Hi!
Hello there!
then it should NOT print like
Hi! Hello there!
You can store rich, formatted text in an Access database by using a Long Text (also called Memo) field and setting the field's TextFormat property to RichText. For example, you can make the text bold or underlined, apply different fonts to individual words or characters, and change text colors.
The general syntax for creating a table in MySQL is: CREATE TABLE [IF NOT EXISTS] table_name( column_definition1, column_definition2, ........, table_constraints ); Note: [IF NOT EXISTS] verifies if there is an identical table in the database. The query will not be executed if an identical table already exists.
If your paragraph is 1000 words with each word averaging 6 characters, that's 6000 characters. You will be able to store around 11 paragraphs. If you want to store more information, see MEDIUMTEXT or LONGTEXT . To searching through so many characters you can set up full text indexing.
Raw text include characters only, not formatting like bold, italics or underline. Tabs, punctuation marks and newline are characters, so a simple varchar will do if all you really need is this.
But you have to decide on a formatting protocol if you want bold, italics and underlined text: HTML, wiki syntax, RTF, etc. If this format is textual, a varchar will do. If it's binary, you'll need a blob.
If you have newlines in your text and it's displayed on a single line, it's probably because you output it in a HTML page, where sequences of space characters (tabs, spaces, newlines, etc.) are converted to a simple space. Use a <pre>your HTML-escaped text here</pre>
section, and it will display the newlines, tabs and multiple spaces correctly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With