2010-07-09 4 views

ответ

-2

похоже, что вы пытаетесь удалить ссылку с текущей страницы. Если это так, вы можете взглянуть на этот учебник. Это можно сделать тремя способами. Использование javascript, css, php и css. Если это так, вы можете посмотреть на его tutorial.

+0

Ссылка на учебник не является полезным ответом. Правильный ответ заключается в использовании strip_tags с аргументом $ allowable_tags, как указано @Peter Gluck ниже. – axlotl

1
$string = str_replace("<span>", "", $string); 
$string = str_replace("</span>", "", $string); 
4

Если вы просто хотите удалить span теги внутри тега a и ваш формат именно то, что вы вывесили то следующее, что соответствует спецификации.

$string = str_replace('<a href="#"> <span>', '<a href="#">', $string); 
$string = str_replace("</span> </a>", "</a>", $string); 

Если формат изменяется на всех, вам может потребоваться регулярное выражение или использовать DomDocument для разбора HTML.

+0

Вы собираетесь иметь некоторые цитаты вопросы. StackOverflow не позволит мне отредактировать ваш ответ ... Как это делается на самом деле? –

+0

@nute: Я думаю, вам нужно иметь репутацию 2000 года, чтобы редактировать вещи других людей, если только это не сообщество wiki. – icktoofay

+0

@nute, спасибо. Я просто скопировал и вставил. Получил удовольствие от подсветки синтаксиса. –

10

Вы также хотите удалить содержимое тегов <span>? Если да, попробуйте следующее:

$string = preg_replace("/<span[^>]+\>/i", "", $string); 

В противном случае метод str_replace, который опубликовал nute, будет работать нормально.

+0

нет, только теги ' и' ', а только те из внутри ссылки – Alex

+2

не возражаете .. я сумел решить это с помощью регулярных выражений: ' preg_replace ('@ \ ] *)> \ ] *)> (. *?) \ <\/span> @i ',' $ 3 ', $ string) ' – Alex

4

strip_tags() function The разработан для этой цели и позволяет определить HTML-теги, которые не должны вырезаться:

$stripped = strip_tags($string, '<div><a>'); 

Указание '<div><a>' как второй аргумент сохраняет <div> и анкерные элементы.

0

Или вы могли бы использовать это:

$new_string = preg_replace('/(\<span\>|\<\/span\>)/', '', $string); 
Смежные вопросы