Как удалить часть кода из файла полностью?

199
11 апреля 2017, 11:14

Можно ли удалить определенный <div id="q1"> программно из кода полностью? Искал в интернете, но чего-то дельного не нашел, обычно это скрытие или удаление со страницы, но не из файла. Нужно чтобы исходный код очищался от этого div'а по нажатию кнопки на сайте. Любыми возможными способами.

<!DOCTYPE html> 
<html> 
<body> 
<div id="q1">Меня нужно удалить</div> 
</body> 
</html>

Answer 1

DomDocument позволяет работать с DOM привычным нам по javascript образом:

// $html = file_get_contents('some.html');
$html = <<<HTML
<!DOCTYPE html>
<html>
<body>
<div id="q1">Меня нужно удалить</div>
</body>
</html>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
$el = $dom->getElementById('q1');
$el->parentNode->removeChild($el);
echo $dom->saveHTML();
// file_put_contents('some.html', $dom->saveHTML());

Fiddle

Answer 2

Принципиально на JS? Для принципиально вредных, я имею ввиду, что на сайте используются еще много возможных действий с jQuery. Не ради одного действия подключаем целый фреймворк.

<!DOCTYPE html>
<html>
<body>
<div id="q1">Меня нужно удалить</div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script>
jQuery(document).ready(function($){
$('#q1').click(function(){
  $(this).remove();
});
});
</script>
</html>
READ ALSO
Помогите разобраться с циклом for

Помогите разобраться с циклом for

Добрый день, я написал небольшой код, который должен нажать на ссылку, сделать определенное действие, закрыть, и выполнить эти же действия...

193
Onclick на AJAX элементах

Onclick на AJAX элементах

Знаю, что тема обсуждалась много раз, но вопрос все равно без ответа

246
Проблема с JQuery в расширении для Chrome

Проблема с JQuery в расширении для Chrome

При попытке создать расширение для Chrome с использованием API vkcom всё время появляется ошибка:

229