0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 8

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

24.07.2013, 12:35. Показов 4619. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как удалить теги <iframe> и <object> и все что между ними с кода?
Пример:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?php include ("blocks/header.php")?>
 
  <tr>
    <td><table width="690" border="1">
      <tr>
 
      <iframe width="560" height="315" src="//www.youtube.com/embed/hDlgOYVjT7g" frameborder="0" allowfullscreen></iframe> // <---
<?php include ("blocks/left.php");?>
        <td valign="top"><?php echo $myrow['text']; ?></td>
        
      </tr>
    </table></td>
  </tr>
 <?php include("blocks/footer.php");?>
</table>
</body>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2013, 12:35
Ответы с готовыми решениями:

Как из ВБ удалить каталог со всем содержимым в нём?
Как мне из ВБ удалить каталог со всем содержимым в нём. Знаю API функцию которая удаляет каталог, но если в нём есть файлы или подкаталог...

Удалить папку со всем ее содержимым
Доброго времени суток. Есть код: find $BACKUPPATH -type f -mtime +$LIMITATION -print0 | xargs -0 rm -f Есть папка $BACKUPPATH, в...

Компонент IdFtp, нужно удалить папку со всем её содержимым
Здравствуйте уважаемые программисты! Как по фтп удалить папку со всем её содержимым?

4
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 6
24.07.2013, 12:55
PHP
1
/(?:<iframe|<object).*?</iframe>|</object>{1}/gim
Должен делать то что нужно, но возможно я что то не учел.
0
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 8
24.07.2013, 13:02  [ТС]
Цитата Сообщение от metserp Посмотреть сообщение
Код PHP
1
/(?:<iframe|<object).*?</iframe>|</object>{1}/gim
Должен делать то что нужно, но возможно я что то не учел.
к сожалению не помогло(
0
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 6
24.07.2013, 13:30
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$text = '
 
<body>
<table width="690" border="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?php include ("blocks/header.php")?>
 
<tr>
<td><table width="690" border="1">
<tr>
 
<iframe width="560" height="315" src="//www.youtube.com/embed/hDlgOYVjT7g" frameborder="0" allowfullscreen></iframe>
<?php include ("blocks/left.php");?>
<td valign="top"></td>
<iframe width="560" height="315" src="//www.youtube.com/embed/hDlgOYVjT7g" frameborder="0" allowfullscreen></iframe>
</tr>
</table></td>
</tr>
test
</table>
</body>
';
$pattern = '~(?:<iframe|<object).*?</iframe>|</object>{1}~im';
echo preg_replace($pattern, '', $text);
У меня сносит все что надо.
Единственное я протупил и надо не /регулярка/ а ~регулярка~ так как у нас в самом паттерне есть / ну либо экранировать ее
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
24.07.2013, 15:22
учитите, что такая регулярка неверно будет работать на выражениях типа
Code
1
2
3
<object><object></object></object> (последний </object> не совпадет)
<iframe></object> (ложное совпадение)
<iframe src="sdfsfs"/> (без закрывающего тега не сработает, предполагаю что некоторыми браузерами обрабатывается, особенно в xhtml)
ну и другие варианты. поэтому подойдет только для простого парсинга определенных данных, но никак не для валидации. вот более корректный вариант:
Code
1
2
3
4
5
6
7
<(object|iframe)
  ([^>/"]*+(?:"[^"\\]*+(?:\\.|[^"\\]++)*+")*+(/(?!>))*+)(?:/>|>
    (?>[^<]*
      (?:(?R)|
         <[a-z]*+[^>"]*+
        (?:"[^"\\]*+(?:\\.|[^"\\]++)*+")*+>))*
(</\1>))
(запуск -- с модификатором x, если что).
нормально сработал на строке
HTML5
1
2
3
4
5
6
<a sddsd=dsdsdsd asa=ds>
  df<object dsfsdaf=">sa<o\"b/jectdasdas">sad<<object src=></object>b>sda</object></object>
sdfsdfs<iframe/>dfsdfsa
<iframe><<iframe src="\"\"\"\"">>sdfsdfsdfnnn>sdfsfasasasasa<object</nnn></iframe>
sas</b>
</a>
но и он не учитывает неожиданное окончание данных, простые теги без закрытых, и возможно, что-то еще... впрочем, конечно, если в вашем варианте все это надо, разумеется, КС грамматики проще парсить с использованием средств парсинга КС грамматик
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2013, 15:22
Помогаю со студенческими работами здесь

Как отделить отдельный блок div со всем содержимым в нём html коде от всего кода, в котором этот div находится?
Здравствуйте. Есть много файлов html (70 штук) и в нём html код, такова плана: https://pastebin.com/LVSEx8em . Нужно автоматически отделить...

Как удалить все теги img из html кода?
Ребят подскажите как удалить все теги img их html кода.

Как узнать размер директории со всем ее содержимым?
Добрый вечер. Подскажите, пожалуйста, как узнать размер директории(папки) со всеми вложенными директориями и файлами? Нашел такой...

Как выбрать не повторяющиеся строки из MySql вместе со всем содержимым этих строк
Добрый день, кибер-люди. У меня возникла необходимость выбрать из базы данных только строки с уникальными полями. Например, у нас есть...

Копирование папки со всем содержимым
Привет! Можете дать пример функции которая скопирует папку в ту же директорию со всем содержимым с переименованием её? Ну чтобы стало в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru