mcaskill / php-html-build-attributes
生成HTML属性字符串。
v1.3.0
2023-08-09 03:09 UTC
Requires
- php: >=5.4.0
- ext-json: *
Requires (Dev)
- php: >=7.4.0
- pestphp/pest: ^1.22
README
PHP 5 >= 5.4, PHP 7, PHP 8
生成HTML属性字符串。
安装
使用 Composer
$ composer require mcaskill/php-html-build-attributes
或者,从包源下载 Function.HTML-Build-Attributes.php
并将其保存到项目路径中的某个位置。
升级
此包遵循 语义版本控制,这意味着在主要版本之间可能发生破坏性更改。
API
html_build_attributes( array|object $attr [, callable $callback = null ] ) : string
参数
-
attr
— 包含属性、表示属性名称和值的关联数组或对象。如果
attr
是一个非迭代对象,则仅将可访问的非静态属性纳入结果中。如果属性名称为空字符串,则忽略该属性。属性名称将删除前导和尾随空格。
如果属性值是可调用的(无论是作为
Closure
还是可调用的),则调用它,并继续处理返回的值。如果属性值是
null
,则忽略该属性。如果属性值是可数或可字符串化的对象,则将其转换为原始类型。
如果属性值是布尔值且为
true
,则属性将不带值呈现,否则忽略该属性。如果属性值是数组,则仅接受数字和字符串。数组中的字符串将删除前导和尾随空格。如果过滤后的数组为空,则忽略该属性。
任何其他值将使用
json_encode()
进行序列化。 -
callback
— 用于转义HTML属性值的回调函数。如果没有提供函数,则使用
htmlspecialchars()
;如果使用WordPress,则使用
esc_attr()
函数。
返回值
返回HTML属性字符串或空字符串,如果 attr
无效或为空。
示例
示例 #1: html_build_attributes() 的简单使用
$attr = [ 'type' => 'file', 'id' => 'avatar', 'name' => 'avatar', 'class' => [ 'form-control', 'form-control-sm' ], 'multiple' => true, 'disabled' => false, 'accept' => implode(',', [ 'image/png', 'image/jpeg' ]), 'data-max-files' => 3, ]; echo '<input ' . html_build_attributes($attr) . '>';
上面的示例将输出
<input type="file" id="avatar" name="avatar" class="form-control form-control-sm" multiple accept="image/png,image/jpeg" data-max-files="3">