Попытка удалить текст из между </span>
и </a>
. Я хочу просто удалить some text here
сразу после </span>
, чтобы он отображал только значок.Удалить текст между <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