如何使用 Alvine HTML 组件查询标签和 class?
How can I query a tag and a class using the Alvine HTML component?
我下载了最新版本的框架并且
html 组件。
这段代码完美运行并给出了预期的结果。
$html=\Alvine\Markup\Html\Fragment::getInstanceFromString('
<div>
<article>
<p class="first"></p>
<p>Lorem Ipsum</p>
</article>
</div>
');
$node=$html->find(new \Alvine\Markup\Html\Constraint\Attribute('class'));
$current=$node->current();
$current->appendChild(new \Alvine\Markup\Html\Element\Html\H1('my headline'));
echo (string) $html;
但不知何故我无法调整搜索以便我可以搜索带有 id 的标签。
有了基础 class 你可以执行这个查询。
<div>
<article>
<p class="first"></p>
<p id="myID">Lorem Ipsum</p>
</article>
</div>
$fragment = \Alvine\Markup\Html\Fragment::getInstanceFromString($html);
echo (string) $fragment->find(new Selector('#myID'));
// <p id="myID">Lorem Ipsum</p>
echo (string) $fragment->find(new Selector('.first'));
// <p class="first"></p>
见https://doc.alvine.io/de/alvine.markup.html/api/snapshot/Alvine/Markup/Html/Constraint/Selector.html
我下载了最新版本的框架并且 html 组件。
这段代码完美运行并给出了预期的结果。
$html=\Alvine\Markup\Html\Fragment::getInstanceFromString('
<div>
<article>
<p class="first"></p>
<p>Lorem Ipsum</p>
</article>
</div>
');
$node=$html->find(new \Alvine\Markup\Html\Constraint\Attribute('class'));
$current=$node->current();
$current->appendChild(new \Alvine\Markup\Html\Element\Html\H1('my headline'));
echo (string) $html;
但不知何故我无法调整搜索以便我可以搜索带有 id 的标签。
有了基础 class 你可以执行这个查询。
<div>
<article>
<p class="first"></p>
<p id="myID">Lorem Ipsum</p>
</article>
</div>
$fragment = \Alvine\Markup\Html\Fragment::getInstanceFromString($html);
echo (string) $fragment->find(new Selector('#myID'));
// <p id="myID">Lorem Ipsum</p>
echo (string) $fragment->find(new Selector('.first'));
// <p class="first"></p>
见https://doc.alvine.io/de/alvine.markup.html/api/snapshot/Alvine/Markup/Html/Constraint/Selector.html