嘗試從</span>
和</a>
之間刪除文本。我想只是在</span>
之後刪除some text here
,以便它只顯示圖標。刪除<a></a>之間的文本但不是href或<span></span>使用PHP
$bad_string = '<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>';
$good_string = '<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>';
目前呼應什麼:
<ul id="menu-social-menu-1" class="menu">
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span>some text here</a></li>
</ul>
要重複一下:
<ul id="menu-social-menu-1" class="menu">
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>
<li class="someclasses"><a target="_blank" href="http:www.example.com/dir/handle"><span></span></a></li>
</ul>
WordPress中使用這個下面的代碼之後的文字跨度仍然存在。它不會去掉</span>
之後的文字。我的錯誤是什麼?在這裏:
<?php if (has_nav_menu('social-menu')) {
$menu = wp_nav_menu(array('theme_location' => 'social-menu', 'fallback_cb' => '', 'echo' => false));
function convertURL($menu) {
return preg_replace("/<a target=\"_blank\" href=\"([^\"]+?)\"><span><\/span>.*?<\/a>/", "<a target=\"_blank\" href=\"$1\"><span></span></a>", $menu);
}
echo $menu;
}
?>
我最終走了這條路。更簡單,更清潔。我更新了正則表達式來解釋超過1個URL集。我會用最終結果更新我的代碼。 – JonnyBorg
我在我的問題中添加了一段代碼,嘗試合併您的功能。這種方法對我來說最合適,而且是一種更清潔的方法。但顯然我沒有正確實施。思考? – JonnyBorg
@JonnyBorg嘗試從正則表達式中去除'?'。因此,它是'。*?<\/a>' – PKeidel