我有一個帶有子菜單的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