Как удалить тег <a> с содержимым из строки в PHP?

183
22 октября 2018, 14:50

Как удалить тег с содержимым из строки в PHP?

Answer 1

$text = '1<p></p><div><a><a href="">2</a>';

$text= strip_tags($text); - Удалить все теги

$text= strip_tags($text, '<p>'); - Удалить все теги, кроме <p>

$text = preg_replace('/<(p|a).*?>(.*?)<\/\1>/ism', '$2', $text); - удалить <p> и <a>

$text = preg_replace('/<(p|a).*?>(.*?)<\/\1>/ism', '', $text); - тоже самое что и выше, но вместе с содержимым.

Answer 2

Если я правильно понял, тогда можешь использовать регулярные выражения

<a([\s\S]+)?>([\s\S]+)?<\/a>

То есть совпадения будут, такие как:

<a></a>

<a href="somehref"></a>

<a href="somehref">asdasd</a>

<a>asdasd</a>

\s - находит пробельные символы, а также переносы, эквивалентен [\r\n\t\f\v ]

\S - делает все тоже самое, только наоборот, находит все кроме пробельных символов

() - группируешь

? - добавляешь, исключение, на то, что это может быть, а может и не быть, потому что вопрос не совсем понятен

Объединяем с php

<?php
$string = 'some string <a>asdasd</a> ';
$pattern = '/<a([\s\S]+)?>([\s\S]+)?<\/a>/i';
echo preg_replace($pattern, "", $string); // some string
READ ALSO
Проблема с парсером PHP Notice: Undefined offset: 1

Проблема с парсером PHP Notice: Undefined offset: 1

Есть парсер, при появлении капчи должен ее ловить

138
react на node js на реальном сайте

react на node js на реальном сайте

Create React App is a comfortable environment for learning React, and is the best way to start building a new single-page application in React

156
Запретить добавление с определнного IP

Запретить добавление с определнного IP

Все приветПодскажите пожалуйста как сделать проверку на отказ добавления с определенного ip посредством PHP

159
Добавлять столбец через цикл

Добавлять столбец через цикл

Ребята очень нужна помощьДруг помог написать за 5 минут код но я вижу что он очень прям корявый но направление вроде правильное

135