繁体   English   中英

PHP:打印HTML友好代码?

[英]PHP: Printing HTML-Friendly Code?

我想知道是否有任何技术可以使从PHP函数打印HTML(多行)时的HTML代码看起来不错?

特别是新的行和制表符。 显然,我希望幕后的HTML标签在适当的新行和标签下看起来不错。 但是,根据我何时调用打印HTML的PHP​​函数,我可能需要在1、2、3、4等处启动选项卡。我不需要将启动选项卡数传递给PHP打印HTML的函数。

那么,有谁知道用PHP打印HTML友好代码的通用方法吗? 还是有我遗漏的设计原则,即“不要从PHP函数中打印多行HTML”。 ...

谢谢,

史蒂夫

我不会打扰的。 有了诸如Firebug之类的DOM检查工具,就可以浪费时间在为计算机阅读而设计的外观上。 也请参阅此问题以获取其他人对此事的看法。

标记清理

有一些很棒的代码工具可以清理(即调整间距)和修复(即关闭打开的标签)。

Tidy是较流行的html清理/修复工具之一。 您可以使用php的输出缓冲区通过Tidy即时解析脚本的输出。

Zend公司开发园区简介- http://devzone.zend.com/article/761 PHP手册中整理文档- http://www.php.net/manual/en/book.tidy.php

现在,这是一个简单的例子,是的!

<?php
ob_start();

echo '<div><b> messy</b> <div> <i>blarg</I></div>';
echo '  <div>code rawr!</div>';

$output = ob_get_clean();

$tidy = tidy_parse_string($output);
tidy_clean_repair($tidy);
echo $tidy;
?>

模板系统

您应该使用模板系统来分离应用程序的逻辑部分(php代码)和表示部分(html / markup / etc)。

使用这种做法有很多优点,其中包括使代码更易于维护和调试。

这是一个巨大的讨论主题,几乎总是涉及到框架和MVC。 有成千上万的资源,这里有一些:P

用PHP编写模板系统-http : //www.codewalkers.com/c/a/Display-Tutorials/Writing-a-Template-System-in-PHP/
Web应用程序中业务逻辑与表示逻辑的分离-http : //www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=21

如果要生成有效的xhtml,则可以缓冲输出 ,最后,执行以下操作:

$dom = new DomDocument (('1.0', 'utf-8');
$dom->loadHtml (ob_get_clean ());
$dom->formatOutput = true; 
echo $dom->saveXML ();

如果您使用的是框架,则可以将其用作插件或过滤器。 这样,如果您将模板嵌入其他模板或使用帮助程序的输出,它也可以工作

使用模板系统生成HTML并保持模板井然有序是一种简单的方法

您不应该使用php打印html。 在模板内部使用php的速记语法。

<h1><?= $page_title ?></h1>
<p><?= page_content ?></p>

代替

<?php

echo "<h1>" . $page_title . "</h1>";
echo "<p>" . $page_content . "</p>";

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM