У меня есть строка с этим html:
<div> <span> 1 </span> <a href="#"> <span> 2 </span> </a> <a href="#"> <span> 3 </span> </a> <a href="#"> <span> 4 </span> </a> .... </div>
как удалить теги <span>
из ссылок ( <a>
)?
похоже, вы пытаетесь удалить ссылку с текущей страницы. Если это так, вы можете взглянуть на этот учебник. Это можно сделать тремя способами. Использование javascript, css, php и css. Если это так, вы можете посмотреть его учебник .
Вы также хотите удалить содержимое тегов <span>
? Если да, попробуйте следующее:
$string = preg_replace("/<span[^>]+\>/i", "", $string);
В противном случае метод str_replace, который опубликовал nute, будет работать нормально.
Если вы просто хотите удалить теги span
внутри тега, и ваш формат – именно то, что вы разместили, то следующее соответствует этой спецификации.
$string = str_replace('<a href="#"> <span>', '<a href="#">', $string); $string = str_replace("</span> </a>", "</a>", $string);
Если формат вообще изменится, вам может потребоваться регулярное выражение или использовать DomDocument
для анализа HTML.
Функция strip_tags()
предназначена для этой цели и позволяет вам указывать теги HTML, которые не следует удалять:
$stripped = strip_tags($string, '<div><a>');
Указание '<div><a>'
поскольку второй аргумент сохраняет элементы <div>
и anchor.
$string = str_replace("<span>", "", $string); $string = str_replace("</span>", "", $string);
Или вы можете использовать это:
$new_string = preg_replace('/(\<span\>|\<\/span\>)/', '', $string);