Ok, I am putting my users text onto the screen. I need it to represent what they typed so I use the <pre></pre> tags to preserve the hard returns and other white space. The problem comes when they type a long paragraph (such as the one Im typing now) and the pre tags allow the text to stretch the whole website out. I know I can remove the <pre> tags and the text will wrap inside the table cell I place it in, but I need the hard returns and such preserved as I said. Is there an existing algorithm that solves this.

I notice that some sites will add hard returns to the users text to force it to all fit in some desired area. How do I do that.

I am asking in this forum because if I do need a complex algorithm it will need to be php as that is my development environment

Thanks in advance

-Brad

Well after doing more research. (Actually I did a view source on this page) to see how daniweb does it and they just replace the hard return characters with <br> tags. Thanks anyways

What I do is wrap it in a div tag with the overflow attribute: <div style="overflow-x:auto; width:500px"> It works like this:

ThisIsReallyLongText_ThereAreNoSpaces_ItActsLikePRE_ThisIsReallyLongText_ThereAreNoSpaces_ItActsLikePRE_ThisIsReallyLongText_ThereAreNoSpaces_ItActsLikePRE_ThisIsReallyLongText_ThereAreNoSpaces_ItActsLikePRE_

A horizontal scroll will automatically be added in Internet Explorer. In Firefox, the text will just overflow out of its container. However, I believe this is a bug which is expected to be fixed in the next release.

Well so they do! :) Good. It's a feature I have built into all of the posts so that if a horizontal scrollbar is required, one is automatically added, without stretching the site layout.

Thanks cscgal, I saw that bit of html in your forum when I looked at the source I didnt know what it was for but good to know

Well after doing more research. (Actually I did a view source on this page) to see how daniweb does it and they just replace the hard return characters with <br> tags. Thanks anyways

Exactly the solution I use, bwest.

$mystr = str_replace("\n","<br />",$mystr);
This article has been dead for over six months. Start a new discussion instead.