Что нового

Удаление html тегов по условию - все, кроме

erlik

Продвинутый
Сообщения
317
Репутация
84
Требуется удалить из строки все html теги и заключенный между ними специфический текст, кроме тегов
Код:
<pre текст, который должен остаться в тегах</pre>
Все теги и ненужный текст удаляются просто:
Код:
$sStr = StringRegExpReplace($sStr,'(<.+?>)','') ; (?:<pre .?+</pre>)
ConsoleWrite($sStr)

В итоге получаем чистый текст, очищенный от html форматирования. Но требуется часть текста, заключенного в теги
Код:
<pre </pre>
не трогать и оставить его заключенными в эти самые теги.
Пример строки:
Код:
Local $sStr='RegFlushKey</fname> записывает все атрибуты указанного открытого ключа в реестр.</p><pre style="padding: 5px;">LONG <fname>RegFlushKey</fname>(    HKEY <pname>hKey</pname> 	// дескриптор записываемого ключа.);</pre><h5>Параметры:</h5>'

Никак не могу совместить эти два условия в шаблоне. Если это вообще возможно - то подскажите как совмещать такие почти взаимоисключающие условия?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$file='RegFlushKey</fname> записывает все атрибуты указанного открытого ключа в реестр.</p><pre style="padding: 5px;">LONG <fname>RegFlushKey</fname>(    HKEY <pname>hKey</pname>    // дескриптор записываемого ключа.);</pre><h5>Параметры:</h5>'
$str=StringRegExpReplace($file,'<(?!/?pre).*?>','')
MsgBox(32,'',$str)
 
Верх