Re: Auto-generating HTML
| From: | Andy McKenzie | 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