在wordpress中需要<li id="menu-item-98" class="navigation-heading menu-item menu-item-type-custom menu-item-object-custom menu-item-98">
<a href="#">Main</a>
</li>
的帮助。
我的源代码是这样的
preg_replace
使用li
时,只要navigation-heading
标记包含<div class="navigation-heading">
<span>
<span><a href="#">Main</a></span>
</span>
</div>
类,我就会将其更改为以下html标记。
function add_nav_class($output) {
$output= preg_replace('...', '...', $output, 1);
return $output;
}
add_filter('wp_nav_menu', 'add_nav_class');
如果有人可以帮我解决下面的代码,我会非常感激。
<ul>
<li class="vendor-dashboard menu-item menu-item-type-custom menu-item-object-custom menu-item-22"><a href="#link">Menu Title</a></li>
<li class="navigation-heading menu-item menu-item-type-custom menu-item-object-custom menu-item-99"><a href="#">WP Heading 1</a></li>
<li class="vendor-dashboard menu-item menu-item-type-custom menu-item-object-custom menu-item-26"><a href="#link">Menu Title</a></li>
<li class="vendor-dashboard menu-item menu-item-type-custom menu-item-object-custom menu-item-16"><a href="#link">Menu Title</a></li>
<li class="navigation-heading menu-item menu-item-type-custom menu-item-object-custom menu-item-44"><a href="#">WP Heading 2</a></li>
</ul>
编辑:
这是我的整个菜单(菜单ID在Wordpress中可能有所不同)。
navigation-heading
只有<div class="navigation-heading">...</div>
类的人才应更改为<div class="navigation-heading">...</div>
当我使用您的代码时,菜单消失了,只有<ul>
<div class="navigation-heading"><span><span><a href="#">Heading</a></span></span></div>
<li id="menu-item-56" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-56">
<div class="navigation-heading"><span><span><a href="#">Heading</a></span></span></div>
<li id="menu-item-79" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-79">
<li id="menu-item-80" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-80">
</ul>
仍在那里。
我的最终目标是创造这个:
li ID's
从原始菜单中,我可以轻松删除function new_submenu_class($menu) {
$menu = preg_replace('/id=\"(.*?)\"/', '', $menu );
return $menu;
}
add_filter('wp_nav_menu','new_submenu_class');
(感谢您分享的网站网址)。
function change_link_to_heading($menu) {
$str = '/<li.*?navigation-heading.*?>\\s*<a href=\"#\">\\s*(.*?)\\s*<\\/a><\\/li>/m';
$replace = '<div class="navigation-heading"><span><span>$1</span></span></div>';
$menu = preg_replace($str, $replace, $menu );
return $menu;
}
add_filter('wp_nav_menu','change_link_to_heading');
但从现在开始我就被困住了。
解决方案:(感谢 Quixrick )
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.2.0'
答案 0 :(得分:0)
答案 1 :(得分:0)
这似乎相对简单,可能根本不需要复杂。基本上,您可以捕获var isPrime = n => Array(Math.ceil(Math.sqrt(n)+1)).fill().map((e,i)=>i).slice(2).every(m => n%m);
console.log(Array(100).fill().map((e,i)=>i+1).slice(1).filter(isPrime));
标记内的所有内容,然后将其插入到替换字符串中。
最简单的形式就是:
<li>
但如果是我,我可能只是通过在捕获组之前和之后添加<li.*?>(.*?)</li>
来删除匹配周围的额外空格。
\s*
嗯,无论如何,一旦你捕获了你的比赛,你可以像这样填写<li.*?>\s*(.*?)\s*</li>
周围的文字:
$1
这应该是你在驱动器中踢这个东西所需的全部。