Home >Backend Development >PHP Tutorial >How to convert textarea line breaks in php forms_PHP tutorial

How to convert textarea line breaks in php forms_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:34:41905browse

The following is my process of solving this problem. Finally, I completely understood it. I almost capsized in the gutter.

1.You must know that the newline character in textarea is n (personal testing found that pressing the Enter key is n, which seems to be rn under Linux)

2. Before using nl2br, please read the manual explanation carefully. I am just frustrated. It is generally understood as converting n to
, but it is not:

See the php manual for explanation:

nl2br – Inserts HTML line breaks before all newlines in a string

Returns string with ‘
’ inserted before all newlines

It means to insert
before a new line

W3cschool says: The

nl2br() function inserts an HTML newline character (
) before each new line (n) in a string.

So nl2br() can insert
but n still exists. For example, the string source code is: program n life network, after our nl2br is the program
n life network, so the effect we see will be

Program

Life.com——————-line break because there is n in the source code

3. Use php function, str_replace to replace the function, such as str_replace('n','
'). The problem is that the replacement was not successful and it has not been replaced. I worked on it for a long time and even started to doubt it. Is the newline character in textarea n? It’s really shocking to think about it now, o(∩_∩)o... In fact, after testing and replacing n /n separately, I intuitively told me that I have entered a dead end. This is not the way to solve the problem. , there must be something fundamentally wrong. Suddenly I thought about whether it was a problem with single quotes or double quotes, so I changed str_replace('n','
') to str_replace("n","
" ), a flash of inspiration occurred, and the replacement was successful. Big sweat!

I opened the manual again and read the single quotation marks and double quotation marks again. Finally, I sighed. It was still a basic problem. PHP is simple, but you still have to pay attention to the details.

The explanation of single and double quotes in the manual is very detailed:

Single quotes

The simplest way to specify a simple string is to enclose it in single quotes (the characters ).

To represent a single quote, it needs to be escaped with a backslash (), like in many other languages. If a backslash is required before a single quote or at the end of a string, use two backslashes. Note that if you try to escape any other characters, the backslash itself will also be displayed! So there's usually no need to escape the backslash itself.

————–So we use str_replace(‘n’,’
’) to replace n in the string instead of the newline character, which seems a bit confusing. In other words, what is inside the single quotes is a string, and PHP does not interpret it in any way. I actually know this when I use it elsewhere, but I didn’t expect that it won’t even interpret the newline character.
Double quotes

If you enclose a string in double quotes ("), PHP knows more escape sequences for special characters:

Table 6-1. Escape characters

Sequence
Meaning

n
Line feed (LF or ASCII character 0×0A (10))

r
Enter (CR or ASCII character 0×0D (13))

t
Horizontal tab character (HT or ASCII character 0×09 (9))

\
backslash

$
Dollar sign


double quotes

[0-7]{1,3}
This regular expression sequence matches a character represented in octal notation

x[0-9A-Fa-f]{1,2}
This regular expression sequence matches a character represented in hexadecimal notation

Additionally, if you try to escape any other characters, the backslash itself will be displayed!

————Now the problem of line wrapping in textarea is clear. It is not a problem of line breaks or nl2br. It is that all transfers only exist in double quotes. Single quotes only handle characters in PHP. What a depressing mistake. Will definitely keep it in mind in the future.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322393.htmlTechArticleThe following is the process of how I solved this problem. In the end, I completely understood it. I almost capsized in the gutter 1. You must know that the newline character in textarea is n (personal testing found that pressing the Enter key is...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn