becklyn / html-builder
构建HTML的简单助手
2.2.1
2022-02-17 11:28 UTC
Requires
- php: >=7.4
Requires (Dev)
- symfony/phpunit-bridge: ^5.4.3 || ^6.0.3
README
元素构建器
use Becklyn\HtmlBuilder\Builder\HtmlBuilder; use Becklyn\HtmlBuilder\Node\HtmlElement; $builder = new HtmlBuilder(); $link = new HtmlElement("a", [ "href" => "https://becklyn.com", ], [ "Becklyn Studios" ]); assert('<a href="https://becklyn.com">Becklyn Studios</a>' === $builder->buildElement($link));
属性构建器
use Becklyn\HtmlBuilder\Builder\HtmlBuilder; use Becklyn\HtmlBuilder\Node\HtmlAttributes; $builder = new HtmlBuilder(); $attributes = $builder->buildAttributes(new HtmlAttributes([ "href" => "https://becklyn.com", "target" => "_blank", ])); echo "<a {$attributes}>Becklyn</a>";
特殊值
false
: 条目将被省略null
: 将被省略true
: 将作为布尔属性渲染,例如"checked" => true
作为<input checked>
。
$full = $builder->build([ "first" => "a", "removed1" => false, "removed2" => null, "checked" => true, "last" => "b", ]); assert($full === 'first="a" checked last="b"'); // true
向元素添加预编译的HTML
为了避免内容自动转义,您可以使用 SafeMarkup
$link = new HtmlElement("div"); $link->addContent(new SafeMarkup("This will <b>not</b> be escaped!")); assert('<div>This will <b>not</b> be escaped!</div>' === $builder->buildElement($link));