正则表达式函数与项目不匹配

时间:2014-03-30 12:54:43

标签: php regex

有人可以帮帮我吗?我有这个php正则表达式函数:

preg_replace_callback('/(<li[^>]+class=")([^"]+)("?[^>]+>[^>]+>)([^<]+)<\/a>/') 

我想让它匹配这个字符串(这是一个BootStrap Navbar Group Item):

<li id="menu-item-63" class="fa-home menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-63 dropdown open"><a title="Menu" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Menu <span class="caret"></span></a>
    <ul role="menu" class=" dropdown-menu">
        <li id="menu-item-53" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-53"><a title="Multiple Paragraph Page" href="http://localhost:8888/point/?page_id=33">Multiple Paragraph Page</a></li>
        <li id="menu-item-52" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-52"><a title="Grandchild Page" href="http://localhost:8888/point/?page_id=40">Grandchild Page</a></li>
        <li role="presentation" class="divider"></li>
        <li id="menu-item-51" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-51"><a title="Child Page" href="http://localhost:8888/point/?page_id=39">Child Page</a></li>
    </ul>
</li>

该功能目前适用于非组项目,如下所示。但我希望它还包括上面的第一个LI项目。然后脚本的其余部分是,它添加FontAwesome类并修改链接文本,如下所示:

<li id="menu-item-46" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46">
   <a title="Headers Page" href="http://localhost:8888/point/?page_id=38">
    <i class="fa-home fa"></i>
    <span class="fontawesome-text"> Headers Page</span>
   </a>
</li>

非常感谢任何帮助!

另外,这里是我从中获取正则表达式函数的完整代码:http://pastebin.com/nQttGRnr

1 个答案:

答案 0 :(得分:0)

我放弃了尝试使用这个脚本。我认为我的问题是我尝试使用WP Nav Menu设置类,而标题属性没有问题!