theaomx / htmlnode
通过使用易于使用的HtmlBuilder构建AST-Node-Trees来创建自定义HTML标记。
1.0.5
2018-04-09 09:20 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.3
This package is not auto-updated.
Last update: 2024-09-18 03:19:26 UTC
README
这是一个允许你在PHP代码中表示任意HTML-AST-Node-Trees的项目。这有几个用途。如果你在你的项目中使用这些类,你将操作节点树而不是字符串。因此,你可以将这些实例从一个方法传递到另一个方法,并直接操作树。只有当树的根或树的另一部分使用echo或print打印时,树才会转换为正确的HTML标签。请查看index.php,它创建了一个示例网站,你可以在那里看到相关的API调用。
简单示例,创建一个HTML5基本网站
use \TheAomx\Nodes\HtmlNode as HtmlNode; use \TheAomx\Nodes\Indentation as Indentation; $html = HtmlNode::get_builder("html")->attr("lang", "de")->build(); $head = HtmlNode::get_builder("head")->build(); $charset = HtmlNode::get_builder("meta")->attr("charset", "utf-8")->build(); $viewport = HtmlNode::get_builder("meta")->attr("name", "viewport")-> attr("content", "width=device-width, initial-scale=1.0")->build(); $title = HtmlNode::get_builder("title")->text("Hello World Site")->build(); $head->addChildNode($charset)->addChildNode($viewport)->addChildNode($title); $body = HtmlNode::get_builder("body")->build(); $html->append($head)->append($body); $h1 = HtmlNode::get_builder("h1")->text("Welcome stranger!")->build(); $p = HtmlNode::get_builder("p")->attr("style", "color: red;")-> attribute("align", "left")->build(); $b = HtmlNode::get_builder("b")->s_text("Hello World with umlaute äöü&%")->build(); $p->append($b); $body->append($h1)->append($p); // only at this step the root ast-node $html gets converted to a string! echo $html;
上述示例生成的HTML结果如下。如果你想的话,可以禁用HTML输出的美化打印,这样就不需要传输空白行或空格。
<html lang="de"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title> Hello World Site </title> </head> <body> <h1> Welcome stranger! </h1> <p style="color: red;" align="left"> <b> Hello World with umlaute äöü&% </b> </p> </body> </html>