Задать вопрос

Как удалить содержимое DIV?

<div id="main">
	<div id="inside">текст</div>
	<div class="class">текст</div>
</div>

Вопрос: как мне удалить содержимое div id=main целиком до закрывающего его тега, т.к. при применении:
$text = preg_replace("/<div\sid=\"main\"(.*?)<\/div>/ism", "", $text);

Он удалит до первого закрывающего DIVа т.е. в данном случае того который закрывает блок inside а это не то что нужно...
Up. После div id="main" есть другие div-блоки на странице которые нужно оставить, т.е. это не конец страницы.
  • Вопрос задан
  • 2090 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Регуляркой разбирать html не очень удобно. Воспользуйтесь, например, PHP Simple HTML DOM Parser
include('simple_html_dom.php');
$html = str_get_html('<html><div id="main"><div id="inside">текст</div><div class="class">текст</div></div>');
$html->find('div#main', 0)->innertext = '';
$outText = $html->save();
Ответ написан
@IceJOKER
Web/Android developer
/(?<=<div\sid=\"main\">)(.*)(?=<\/div>)/is
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽