Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PHP. RegEx для удаления из строки контейнера <script> c атрибутами и содержанием
Форумы портала PHP.SU » PHP » Регулярные выражения » PHP. RegEx для удаления из строки контейнера <script> c атрибутами и содержанием

Страниц (1): [1]
 

1. sadex - 12 Июля, 2013 - 05:23:49 - перейти к сообщению
Цель. Удаление из текста сообщения (комментария и пр.) юзера контейнеров типа <script...>code...code</script>.
Исходные условия. Сообщение от юзера, в общем случае, может приходить как в bb- так и в html текстовой разметке. Регулярка работает в php-скрипте на сервере (способ в JS-скрипте на клиенте не рассматривается).

Примерная регулярка для модификаций:

PHP:
скопировать код в буфер обмена
  1. $str = preg_replace('/(<script>.+?)+(<\/script>)/i', '', $str);


Прошу корифеев помочь, подсказать возможные варианты. В регексах я новичок, только начинаю их осваивать.
2. LIME - 12 Июля, 2013 - 05:33:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $str = preg_replace('#<script.*</script>#siU', '', $str);
если текст в utf то надо добавить модификатор u (нет не перепутал...используется большая U для инверсии жадности)
3. sadex - 12 Июля, 2013 - 05:45:19 - перейти к сообщению
Спасибо, LIME, попробую.
4. nerv - 12 Июля, 2013 - 15:34:21 - перейти к сообщению
sadex пишет:
PHP:
скопировать код в буфер обмена
  1. $str = preg_replace('/(<script>.+?)+(<\/script>)/i', '', $str);

PHP:
скопировать код в буфер обмена
  1. $str = preg_replace('/<script>.+?<\/script>/i', '', $str);
5. LIME - 12 Июля, 2013 - 15:40:59 - перейти к сообщению
nerv я твою регулярку обойду аж 2мя способами))
6. AlexAnder - 12 Июля, 2013 - 15:58:06 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <script src="http://xaker-site[dot].com/js/alert_cookie.js"></script>
7. LIME - 12 Июля, 2013 - 16:00:59 - перейти к сообщению
а 2ой способ это тупо в несколько строк записать
8. nerv - 13 Июля, 2013 - 22:42:37 - перейти к сообщению
LIME пишет:
nerv я твою регулярку обойду аж 2мя способами))

я исправил пример автора, не более

 

Powered by ExBB FM 1.0 RC1