472,097 Members | 1,054 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,097 software developers and data experts.

\n doesn't work

I am writing a program, and I am using \n in double-quoted print statements,
which should give me a line break. It doesn't work. I'm running Apache 2.0
and PHP 5, with Mozilla Firefox as a browser. What is wrong?
Jul 17 '05 #1
11 9652
Michael Bradley-Robbins wrote:
I am writing a program, and I am using \n in double-quoted print statements,
which should give me a line break. It doesn't work. I'm running Apache 2.0
and PHP 5, with Mozilla Firefox as a browser. What is wrong?


And... you're not confusing \n <--> <br /> ?

Hans

--
"He who asks a question is a fool for five minutes;
he who does not ask a question remains a fool forever"
Jul 17 '05 #2
Michael Bradley-Robbins wrote:
I am writing a program, and I am using \n in double-quoted print
statements, which should give me a line break. It doesn't work. I'm
running Apache 2.0 and PHP 5, with Mozilla Firefox as a browser. What
is wrong?


Look at the source (view-source in your browser) or wrap the output in
<pre></pre> tags.
JW

Jul 17 '05 #3
Michael Bradley-Robbins wrote:
I am writing a program, and I am using \n in double-quoted print
statements, which should give me a line break. It doesn't work. I'm
running Apache 2.0 and PHP 5, with Mozilla Firefox as a browser. What
is wrong?


This one needs to go in the FAQ list.

\n gives you a newline break in the data sent to the browser, so if you
select the view source option in your browser you'll see the source
does indeed have a linebreak where you are expecting it. However,
linebreaks are ignored in HTML. To create a line break in HTML which is
rendered in the browser, you need the <br> tag.

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #4
Chris Hope wrote:
Michael Bradley-Robbins wrote:
I am writing a program, and I am using \n in double-quoted print
statements, which should give me a line break. It doesn't work. I'm
running Apache 2.0 and PHP 5, with Mozilla Firefox as a browser. What
is wrong?
This one needs to go in the FAQ list.


of an HTML group? I am sure it is. :-D.
\n gives you a newline break in the data sent to the browser, so if you
select the view source option in your browser you'll see the source
does indeed have a linebreak where you are expecting it. However,
linebreaks are ignored in HTML. To create a line break in HTML which is
rendered in the browser, you need the <br> tag.


Depends on what you want, it could be that you don't *want* the br element.

--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Jul 17 '05 #5
John Bokma wrote:
Chris Hope wrote:
Michael Bradley-Robbins wrote:
I am writing a program, and I am using \n in double-quoted print
statements, which should give me a line break. It doesn't work. I'm
running Apache 2.0 and PHP 5, with Mozilla Firefox as a browser.
What is wrong?


This one needs to go in the FAQ list.


of an HTML group? I am sure it is. :-D.


Heh - yes it's basic fundamental HTML skills we're talking about here.
Although I've seen this same question asked here a few times now...
\n gives you a newline break in the data sent to the browser, so if
you select the view source option in your browser you'll see the
source does indeed have a linebreak where you are expecting it.
However, linebreaks are ignored in HTML. To create a line break in
HTML which is rendered in the browser, you need the <br> tag.


Depends on what you want, it could be that you don't *want* the br
element.


Very true. I was making an assumption based on the same experience other
people have had when posting here about this problem. Plus it seems
very unlikely that print "\n" does not output a newline break ;)

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #6
Here's something that may help - especially if you have a bunch of
\n(s) in a database somewhere that you are generating dynamic pages
with (that you would like to see the line breaks in).

http://us2.php.net/nl2br

This little baby will insert a <BR> before any \n in whatever variable
or string you pass to it. I use this for pages where users get to type
info into a field and hit \n\n to create a new paragraph. When they
submit it to a database, it is raw, but when I pull it out, I pass it
through nl2br and it adds the <BR>(s) for me.

Not sure if that's what you are looking for, but it's worth saying just
in case.

Shane

Jul 17 '05 #7
Chris Hope wrote:
people have had when posting here about this problem. Plus it seems
very unlikely that print "\n" does not output a newline break ;)


Yup, true.

--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Jul 17 '05 #8
Chris Hope <bl*******@electrictoolbox.com> wrote:
This one needs to go in the FAQ list.


of an HTML group? I am sure it is. :-D.


Heh - yes it's basic fundamental HTML skills we're talking about here.
Although I've seen this same question asked here a few times now...


It already is (kind of):

msgid: 42***********************@news6.xs4all.nl
Subject: [FAQ] HTML is trunctating PHP text

Take a look at the source (the first place you should look to see what
PHP is actually doing) and you will see it's all there as

Jul 17 '05 #9
Chris Hope <bl*******@electrictoolbox.com> wrote:

Very true. I was making an assumption based on the same experience other
people have had when posting here about this problem. Plus it seems
very unlikely that print "\n" does not output a newline break ;)


It DOES output a newline break. Do a View->Source to prove it.

The issue is that newlines in HTML are just plain old white space, and are
removed when the page is rendered.

To get a line break rendered, you need to output a <br> tag.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Jul 17 '05 #10
Tim Roberts wrote:
Chris Hope <bl*******@electrictoolbox.com> wrote:

Very true. I was making an assumption based on the same experience
other people have had when posting here about this problem. Plus it
seems very unlikely that print "\n" does not output a newline break ;)


It DOES output a newline break. Do a View->Source to prove it.

The issue is that newlines in HTML are just plain old white space, and
are removed when the page is rendered.

To get a line break rendered, you need to output a <br> tag.


I know that, and that's exactly what I posted in my reply to the OP ;)

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #11
Tim Roberts wrote:
To get a line break rendered, you need to output a <br> tag.


Depends :-D. In a <pre> it *does* count, and there are some other places
where it counts (sometimes in old browsers at unexpected places).

--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
Jul 17 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

39 posts views Thread by Mark Johnson | last post: by
149 posts views Thread by Christopher Benson-Manica | last post: by
4 posts views Thread by bbp | last post: by
3 posts views Thread by Dave Moore | last post: by
10 posts views Thread by Sourcerer | last post: by
6 posts views Thread by Johnny Jörgensen | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.