Обработчик формы - проверка и удаление слов длиннее 50 символов.

Royal Flash

-=MaestrO=-
Обработчик формы - проверка и удаление слов длиннее 50 символов.

Может быть кто-то поделится готовым решением, которе:
1. Проверяет длинну каждого слова, и если длинна более 50 символов - удаляет слово.
2. Длинна слова - это подсчет всех символов, лежащих в интервале между пробелами и символами окончания строки.

Необходимо предотвратить умышленное "растягивание" HTML страницы нехорошими юзерами.
 

Royal Flash

-=MaestrO=-
SiMM, WP - Огромное спасибо!
И почему я забыл про рег. выражения?! Написал функцию на строк 30.... Мля... А тут все в одну строку работает.
 

kruglov

Новичок
Royal Flash
Вы ж, наверное в функции не удаляли, а резали строки пробелами? А то запостит человек какой-нить исходник, а в нем строчки пропадут...
 

Royal Flash

-=MaestrO=-
kruglov Удалял. В сообщении, которе, по идее, должно сотоять только из текста (никакого html др.), слов длиннее 50 символов быть не должно.

fixxxer
За ссылку спасибо, хорошая ссылка :) Вот только вариант с preg_replace, на мой взгляд, более разумный в моем случае, так как слова более 50-ти символов вообще не приемлемы...

Возник такой вопрос, как узнать, что preg_replace "сработал", т.е. удалил 1 или более слов?
Можно, конечно, заменять удаленные слова на [!8*120], после чего проверять, есть ли в тексте данная последовательность, удалять ее и возвращать пользователю ошибку, что его текст автоматичесски подкорректировн... Вот только мне кажется, что всетаки можно это сделать проще...
 

SiMM

Новичок
> Возник такой вопрос, как узнать, что preg_replace "сработал", т.е. удалил 1 или более слов?
Сравнить то, что было, с тем, что стало. Или хотя бы длину в данном случае.
PS: вообще жара походу плохо влияет ;)
 
Сверху