On 20 September 2010 19:56, Andy McKenzie <amckenzie4@xxxxxxxxx> 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 > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > There is also the tidy extension which will take your badly formatted html tag soup and create formatted html, xhtml, etc. But really, why bother? Whenever I need to view the source I use the browsers viewsource option or firebug/console/etc. Essentially, client side. But using templates with heredoc ... <?php // Template to display a username row. // Requires a $a_User array return <<< END_HTML <tr> <th>{$a_User['Name']}</th> </tr> END_HTML; sort of thing is easy enough to build. And in a loop ... $s_Users = ''; foreach($a_Users as $a_User) { $s_Users .= include '../templates/users.tmpl'; } Now, $s_Users contains the rows to display the users and you could do something to it if you wanted to. Of course, rolling your own system is fine, but there are other templating systems available, though, of course, PHP _IS_ the templating system, so why learn another one. If you are using a designer to structure the HTML and then adding your code to build the pages, then a templating system compatible with the designer's tools would be a good option. -- Richard Quadling Twitter : EE : Zend @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php