我有一个带有子菜单的html ul菜单。我想用PHP添加一个“第一项”类到第一个子菜单项。PHP:在html元素中查找类的正则表达式
<ul id="menu-main" class="menu">
<li id="menu-item-68" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-68"><a href="...">ITEM1</a></li>
<li id="menu-item-69" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-69"><a href="...">ITEM2</a>
<ul class="sub-menu">
<li id="menu-item-70" class="first-item menu-item menu-item-type-post_type menu-item-object-page menu-item-70"><a href="...">SUB-ITEM-1</a></li>
<li id="menu-item-71" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71"><a href="...">SUB-ITEM2</a></li>
</ul>
<li id="menu-item-73" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-73"><a href="...">ITEM3</a></li>
</ul>
(寻找 “第一项” 里面的文字)
到目前为止,我来是这样的:
$output = preg_replace('/(sub-menu.*class.*)menu-item/smi', '$1 first-item menu-item', $output, 1);
为什么你想用PHP来做到这一点? PHP构建HTML。这种事通常是用JavaScript来完成的。 – 2012-07-19 13:48:29
http://simplehtmldom.sourceforge.net/ ??检查第二个例子 - 如何修改HTML DOM元素 - 或者 - 使用javascript? – TigerTiger 2012-07-19 13:48:53
@JezenThomas:HTML不一定是输出,即使是,可访问性仍然是一个有效的问题。 Joudicek:使用HTML解析器和序列化程序,例如'DOMDocument'。 – 2012-07-19 13:51:55