Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зачистка тегов регами 
:(
    Опции темы
PROme
Дата 15.8.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 23.7.2003
Где: Kiev

Репутация: -1
Всего: 1



блин, что-то я зациклился
помогите, плиз, нужно удалить открывающий и закрывающий тэг script со всеми их вариациями (проще говоря, типа <.*?script.*?> и <.*?\/.*?script.*?>... насколько я понимаю)
что-то никак толком не удается реализовать, плиз хелп smile


--------------------
SEO-мастер
PM MAIL WWW   Вверх
Mal Hack
Дата 15.8.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Код

$str = <<<EOF
    <script>sdkfj</script>
    <scriptdsf4>sdkfj</script>
    <script sdf>sdkfj</script>
    <script>sdkfj</script>


EOF;
 print preg_replace( "#</?script.*?>#i" , "" , $str );

?>

PM ICQ   Вверх
PROme
Дата 15.8.2005, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 23.7.2003
Где: Kiev

Репутация: -1
Всего: 1



блин, сорри, сам дурак! smile
забыл дописать - тэги удалить не проблема
нужно и их и все, что между ними удалить


--------------------
SEO-мастер
PM MAIL WWW   Вверх
Bikutoru
Дата 15.8.2005, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Код

$string = <<<DATA
435dt ret
<script>df</script>
435
<script n='d'>gfhgfhfghg</script>
 tr rt
DATA;

print preg_replace("#<script(?:\s.*)?>.*</SCRIPT>#is", "", $string);


Это сообщение отредактировал(а) Bikutoru - 15.8.2005, 17:12


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Mal Hack
Дата 15.8.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Bikutoru
а зачем скобки?
И потом. У тебя заменит от первого до последнего, что не есть хорошо.
Вот так было бы более правильно:
Код

 print preg_replace( "#<script.*?>.*?</script>#is" , "" , $str );


Это сообщение отредактировал(а) Mal Hack - 15.8.2005, 17:19
PM ICQ   Вверх
Bikutoru
Дата 15.8.2005, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Mal Hack, помнится, какое-то время назад была тема в которой я долго и упорно придумывал выражения вида
Код

<script-gadost-raznaya>...</script>

которые подходили под твои реги, и вот опять smile
Вот это
Код

<script.*?>

спокойно пропускает <script-gadost-raznaya>, а вот это
Код

<script(?:\s.*)?>

только <script> и <script gadost-raznaya>(c пробелом после <script)
(?: я использовал, т.к. запоминать это выражение совсем не надо.
Ключ s обязателен, иначе
Код

<script>
Что-то
</script> - на другой строчке

не будет заменено!

Цитата
У тебя заменит от первого до последнего

Ты иеешь в виду, что у меня заменится все от первого совпадения с <script> до последнего совпадения с </script>? Ничего подобного, посмотри мой пример - все нормально работает. Кстати, протестировал твой вариант, разницы с жадностью .*? я не заметил. Работает аналогично.


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Mal Hack
Дата 15.8.2005, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Код

<?php

$str = <<<EOF
    <script>sdkfj</script>
    <scriptdsf4>sdkfj</script> sdf
    <script sdf>sdkfj</script>     sdf
    <script>sdkfj</script>


EOF;
 print preg_replace( "#<script\s.*?>.*?</script>#is" , "" , $str );

?>

Теперь попробуй как бы по своему:
Код

<?php

$str = <<<EOF
    <script>sdkfj</script>
    <scriptdsf4>sdkfj</script> sdf
    <script sdf>sdkfj</script>     sdf
    <script>sdkfj</script>


EOF;
 print preg_replace( "#<script\s.*?>.*</script>#is" , "" , $str );

?>

PM ICQ   Вверх
Bikutoru
Дата 15.8.2005, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Ну да... поймал smile. А если так
Код

$str = <<<EOF
1    <script>sdkfj</script>
2    <scriptdsf4>sdkfj</script>2
r    <script sdf>sdkfj</script>3
    <script>sdkfj</script>45
    <script>
     tytyt
     tyty
    </script>34

6
EOF;
 print preg_replace( "#<script(?:\s.*)?>.*</script>#isU" , "" , $str );

?

Это сообщение отредактировал(а) Bikutoru - 15.8.2005, 18:07


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Mal Hack
Дата 15.8.2005, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



? равносильно U smile
Так правильно smile
PM ICQ   Вверх
PROme
Дата 16.8.2005, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 23.7.2003
Где: Kiev

Репутация: -1
Всего: 1



большое спасибо за помощь


--------------------
SEO-мастер
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.