Как удалить html-теги и оставить ссылку из переменной в php

#php #html #strip-tags

#php #HTML #удалить теги

Вопрос:

Как мне удалить HTML-теги из переменной и оставить ссылку? Я пытаюсь отправлять электронные письма со ссылкой, но без тегов. Я пробовал strip_tags() , но это удаляет ссылку.

$var = "this is a link <a href="mylink"/>yes it is</a>;

$message ="$var"; // email massage

Как бы мне превратить это в «это ссылка, моя ссылка, да, это так»?

Ответ №1:

это может помочь вам

 $message = strip_tags(preg_replace('/<a href="(.*)">/', '$1', $var));
  

Комментарии:

1. Спасибо за вашу помощь, Flask. Но это все равно удаляет ссылку. Я пытался изменить это, но безуспешно. Есть какие-нибудь идеи, почему может происходить дерьмо?

2. привет, холидеймейн. может быть, потому, что ваша ссылка недействительна? он самозакрывается.. <a href=»mylink»/> угадайте, что / в конце пропущено?

3. Вы были правы, Flask. Ссылка была недействительной. Спасибо, это отлично сработало.

Ответ №2:

Вы можете использовать регулярное выражение для удаления только тегов, но не самой ссылки, если strip_tags не работает.

Ответ №3:

 $regex  = '/</?[a-zA-Z0-9=s"._] >/';
preg_replace($regex,'',$mystring);
  

это удалит теги, но оставит их содержимое. Я не уверен, что включил все необходимые символы. вы можете добавить их позже =)

Комментарии:

1. Спасибо, Headshota. Ваш код ничего не удаляет. Я попробовал комбинацию вашего ответа и ответа Flask, но безуспешно.

2. Ваш код по-прежнему ничего не удаляет даже после того, как я подтвердил ссылку, как предложил Flask.