gpt4 book ai didi

php - 正则表达式在 anchor 标记的开头插入字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 15:40:28 25 4
gpt4 key购买 nike

我需要在打开的 anchor 结束后( anchor 内容开始的地方)直接插入一个字符串。

这是我的代码:

<ul id="menu-topmenu2" class="menu">
<li id="menu-item-5" class="menu-item menu-item-type-post_type menu-item-5">
<a href="http://localhost/domain/barnlager.se/?page_id=2">
About
</a>
</li>
<li id="menu-item-5" class="menu-item menu-item-type-post_type menu-item-5">
<a href="http://localhost/domain/barnlager.se/?page_id=2">
Services
</a>
</li>
</ul>

在这个例子中,我需要“关于”和“服务”之前的内容。一个简短的正则表达式应该这样做吗?上面的 HTML 代码可以是一个名为 $content 的字符串。

我使用 PHP。谢谢!

最佳答案

我会使用解析器,例如 DOM:

$content = '...your html string...';
$doc = new DOMDocument();
$doc->loadHTML('<html><body>'.$content.'</body></html>');
$x = new DOMXPath($doc);
foreach($x->query('//a') as $anchor){
// strrev(trim($anchor->nodeValue))) is just an example. put anything you like.
$anchor->insertBefore(new DOMText(strrev(trim($anchor->nodeValue))),$anchor->firstChild);
}
echo $doc->saveXML($doc->getElementsByTagName('ul')->item(0));

作为额外的奖励,它会抛出警告,您在 HTML 中定义了两次 id="menu-item-5",这是无效的。

关于php - 正则表达式在 anchor 标记的开头插入字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com