Регулярное выражение, нужна ли коррекция

gv0zd

Новичок
Регулярное выражение, нужна ли коррекция

Есть данные которые формируются wysiwyg редактором
Этот редактор любит сорить лишними тегами <br>, пробелами, табуляции в начале и конце строки

Написал регулярку, которая по моим тестам, решает эту проблему.

Только выглядит она имхо как-то громоздко

PHP:
$array ['contacts'] = preg_replace('/^(<br([^>])*>(\s)*)*/i', '', trim($v['contacts']));
$array ['contacts'] = preg_replace('/((\s)*<br([^>])*>)*$/i', '', trim($array['contacts']));
Можно как-то это дело оптимизировать?
 

freeek

Новичок
так а что шужно вырезать? тэг br и пробелы?

PHP:
(\s)*<br[^>]*>(\s)*
наверное было бы логичнее

-~{}~ 20.08.10 23:19:

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

хотя не понятно в каком виде приходят данные и что должно получиться
 

gv0zd

Новичок
Приходит HTML код, который сгенерировал wysiwyg

Сначала trim обрезаем весь мусор вначале и в конце строк

Потом сносим все теги <br> во всех его вариациях (<BR>, <br />, <BR /> и прочее). Между тегами <br> могут быть пробелы

Упс, сейчас посмотрел между тегами могут быть табуляции и переводы.

Т.е мне нужно добиться того чтоб строка начиналась на открывающий тег < либо любой печатный символ, а также заканчивалась на печатный символ либо >
При этом начальный и конечная и конечная скобка не должны быть обрамлять теэ <br>
 
Сверху