Re: Auto-generating HTML

From: Date: Mon, 20 Sep 2010 19:56:47 +0000
Subject: Re: Auto-generating HTML
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-308217@lists.php.net to get a copy of this message
On Mon, Sep 20, 2010 at 3:50 PM, Rick Pasotto <rick@niof.net> wrote: > On Mon, Sep 20, 2010 at 03:02:35PM -0400, TR Shaw wrote: >> >> On Sep 20, 2010, at 2:56 PM, Andy McKenzie wrote: >> >> > Hey folks, >> > >> >  I have the feeling this is a stupid question, but I can't even find >> > anything about it.  Maybe I'm just not searching for the right things. >> > >> >  Here's the problem.  I'm writing a lot of pages, and I hate going in >> > and out of PHP.  At the same time, I want my HTML to be legible.  When >> > you look at it, that's kind of a problem, though... for instance >> > (assume this had some PHP in the middle, and there was actually a >> > reason not to just put this in HTML in the first place): >> > >> > Simple PHP: >> > <?php >> > >> > echo '<html>'; >> > echo '<head>'; >> > echo '  <title>Page Title</title>'; >> > echo '</head>'; >> > echo '<body>'; >> > echo '<p>This is the page body</p>'; >> > echo '</body>'; >> > echo '</html>'; >> > >> > ?> >> > >> > >> > Output page source: >> > <html><head>  <title>Page >> > Title</title></head><body><p>This is the >> > page body</p></body></html> >> > >> > >> > Now, I can go through and add a newline to the end of each line (echo >> > '<html>' . "\n"; and so on), but it adds a lot of typing. >> >  Is there a >> > way to make this happen automatically?  I thought about just building >> > a simple function, but I run into problem with quotes -- either I >> > can't use single quotes, or I can't use double quotes.  Historically, >> > I've dealt with the issue by just having ugly output code, but I'd >> > like to stop doing that.  How do other people deal with this? >> > >> > Thanks, >> >  Alex >> >> Alex >> >> Just add a \n at the end as >> >> echo '<html>\n'; > > That will not work. Single quotes means that the '\n' is not interpreted > as a new line so you'll see a bunch of '\n' in the output. > > What I sometimes do is: > > $out = array(); > $out[] = '<html>'; > $out[] = '<head>'; > $out[] = '  <title>Page Title</title>'; > $out[] = '</head>'; > $out[] = '<body>'; > $out[] = '<p>This is the page body</p>'; > $out[] = '</body>'; > $out[] = '</html>'; > echo join("\n",$out); > Interesting. I hadn't thought of that, but it could work. It'd still be quite a bit of extra typing, but at least I find it more readable... -Alex

« previous php.general (#308217) next »