Вопрос по регулярным выражениям

puzer

Новичок
Вопрос по регулярным выражениям

Проблемма такая, нужно вырезать все теги HTML исключая <sub></sub> и <sup></sup>, точнее заменить их на пробелы.

strip_tags - использовать не получается, так как после вырезания тегов текст "слипается" (например в соседних полях таблицы)

Использую
$text = ereg_replace("<[^>]*>", " ", $text); - это выражение заменяет все теги на пробелы

Как изменить условие что бы он оставлял <sub></sub> и <sup></sup>, специалисты по регулярным выражениям, посоветуйте как поступить ....
 

Гравицапа

elbirret elcno
PHP:
<?php
$text = '
<td>bold</td><td>bold</td>
 <sup>bold</sup> <p>bold</p> <sub>bold</sub>

';

$laSearch  = array( '<sub>', '</sub>', '<sup>', '</sup>' );
$laReplace = array( '[sub]', '[/sub]', '[sup]', '[/sup]' );

$text = str_replace( $laSearch, $laReplace, $text );
var_dump( $text );
//...
?>
?
 

Andreika

"PHP for nubies" reader
Проблемма такая, нужно вырезать все теги HTML исключая <sub></sub> и <sup></sup>, точнее заменить их на пробелы..... посоветуйте как поступить
сначала заменить <sub> и ко. на пробелы, а потом остальное удалить
 

vasa_c

Новичок
(\/?(sup|sub))
либо sup, либо sub, либо оба эти варианта с "/" спереди.
 
Сверху