Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 13.11.2017
Сообщений: 28

Регулярное выражение (очистить форматирование внутри тега)

13.11.2017, 18:17. Показов 1684. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня вот такая задача. Нужно во всех заголовках <h1-6> очистить форматирования (то есть должен получиться чистый заголовок) без атрибутов и без мусорных тегов (остаться должен только текст)

Вот как я сейчас пробую это реализовать:
PHP
1
preg_replace("~<h(\d+)(.*?)>(.*?)</h(\d+)>~", "<h$1>".strip_tags("$3")."</h$4>", $str);
Может можно сразу в регулярке почистить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2017, 18:17
Ответы с готовыми решениями:

Отображение тегов внутри тега pre
Здравствуйте! Пожалуйста, подскажите. Требуется внутри тега pre cделать, чтобы отобразился на странице тег &lt;br /&gt; в виде...

Работа с php в html - переменная внутри тега в echo
помогите добрые люди__ я еще совсем новичек_ не могу я понять как можно сделать так, чтобы в теге ссылки выводимой внутри echo можно было...

регулярное выражение
Надо написать регулярное выражение является ли оно даттой начиная с 1600 до 9999... строка типа: 1) 29/04/2000 2) 29-01-9999 3)...

4
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
14.11.2017, 11:11
PHP
1
2
3
4
<?php
$str = '<h1 prop="8">mms</h1>';
$str = preg_replace("/(\<[\/]{0,1}h[\d]+)\s[^\>]+\>/ismU", "$1>", $str);
echo $str;
0
1 / 1 / 1
Регистрация: 13.11.2017
Сообщений: 28
14.11.2017, 11:23  [ТС]
там форматирование во такого вида
HTML5
1
<h2 style="......"><b>какой то текст</b> также бывает что по ошибке туда попадает <a>ссылка</a></h2>
Нужно именно внутри оставить текст, удалить теги а текст оставить
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
15.11.2017, 23:40
PHP
1
2
3
4
5
6
7
$str = preg_replace_callback(
    '~<(h\d)[^>]*>(.*?)</\1>~i',
    function ($m) {
        return "<$m[1]>".strip_tags($m[2])."</$m[1]>";
    },
    $str
);
Или так:
PHP
1
$str = preg_replace('~ <h\d \K [^>]* | \G(?!\A) [^<]* \K < (?!/h\d) [^>]+ > ~ix', '', $str);
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
16.11.2017, 15:49
be.php
PHP
1
2
3
4
<?php
$str = file_get_contents('html');
$str = preg_replace("/(\<[\/]{0,1}h[\d]+)\s[^\>]+\>/ismU", "$1>", $str);
echo $str;
html
HTML5
1
<h2 style="......"><b>какой то текст</b> также бывает что по ошибке туда попадает <a>ссылка</a></h2>
результат
HTML5
1
<h2><b>какой то текст</b> также бывает что по ошибке туда попадает <a>ссылка</a></h2>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2017, 15:49
Помогаю со студенческими работами здесь

Регулярное выражение
Выражение: 111(.*)111 Строка: 111 000 111 222 111 Получается: 000 111 222 А нужно чтобы было: 000 То есть обрезало до первого...

регулярное выражение...
нужно из &lt;A HREF=&quot;acdc.htm&quot;&gt;AC/DC получить acdc.htm название группы и файла могут быть разными.

Регулярное выражение
serial-1-sezon-3-seriya Есть данная строчка. Необходимо узнать что за сезон и что за серия, как верно составить выражение?

Регулярное выражение
из строки: нужно получить

Регулярное выражение
Добрый день! Подскажите как получить ссылку с текстом между тегами? Пример текста: &lt;div class=&quot;top-desc&quot;&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru