[英]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.