drewm/selecta

v1.0.4 2016-11-06 17:13 UTC

This package is auto-updated.

Last update: 2024-08-24 04:25:39 UTC


README

Build Status Scrutinizer Code Quality

使用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');