drewm / selecta
v1.0.4
2016-11-06 17:13 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 4.0.*
README
使用CSS选择器将内容用HTML标签包裹。
echo Selecta::wrap('h1.welcome', 'Hello, world');
将会输出
<h1 class="welcome">Hello, world</h1>
为什么?
有时你可能需要在非常不便使用完整模板的地方输出一些HTML。在代码中创建HTML字符串是糟糕的,所以这是一种更人性化的方法。
使用方法
当前支持ID、类和属性选择器。
类名
echo Selecta::wrap('ul.list li', 'So listy');
将会输出
<ul class="list"><li>So listy</li></ul>
ID
echo Selecta::wrap('div#contact', 'Call me');
将会输出
<div id="contact">Call me</div>
属性和伪类选择器
echo Selecta::build('input[type=radio][name=color][value=blue]:checked');
将会输出
<input type="radio" name="color" value="blue" checked>
当前支持 :checked
和 :disabled
伪类。
组合使用
所有这些都可以组合并堆叠
echo Selecta::build('form#contact div.field input[type=text][required]');
将会输出(缩进以增加清晰度)
<form id="contact"> <div class="field"> <input type="text" required> </div> </form>
方法
以下方法可用
Selecta::wrap(selector, contents)
将使用选择器创建的标签包裹内容。
Selecta::open(selector)
将打开由选择器创建的标签。
Selecta::close(selector)
将关闭由选择器创建的标签。注意标签的顺序是反转的 - 你可以使用与 open()
和 close()
相同的选择器字符串来获取有效的标签对。
Selecta::build(selector, contents, open, close)
将做一切事情 - 创建标签,可选地包裹内容,可选地打开和关闭标签。
打开和关闭
没有模板,但需要输出一些结构化标记吗?
echo Selecta::open('section.sidebar div'); echo $CMS->display_all_my_weird_sidebar_junk(); echo Selecta::close('section div');