Автор Тема: Программа выдает ошибки  (Прочитано 206 раз)

LeonidV

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
Программа выдает ошибки
« : Май 11, 2019, 04:05:52 pm »
Когда прошу заменить:<script type="text/javascript"><!--[nu] var = .* params);[nu]//--></script>программа выдает ошибки

Подскажите, как удалить?:
<script type="text/javascript"><!--
var flashvars = {"comment":"ТЕКСТ",
"st":"/mediaplayer/styles/audio7-1239.txt",
"file":"/folder/audio/_file_.mp3"};

var params = {wmode:"transparent", allowFullScreen:"false", allowScriptAccess:"always"};
new swfobject.embedSWF("../../external.html?link=https://site.com/mediaplayer/uppod.swf", "audioplayer3018", "300", "40", "10.0.0.0", "../../external.html?link=https://site.com/folder/expressInstall.swf", flashvars, params);
//--></script>
« Последнее редактирование: Май 12, 2019, 08:57:52 am от LeonidV »

Arex

  • Jr. Member
  • **
  • Сообщений: 65
    • Просмотр профиля
Re: Программа выдает ошибки
« Ответ #1 : Май 12, 2019, 11:41:49 pm »
Тема названа неправильно, при приведённом выше использовании скобки программа не могла не выдать ошибку. Советую почитать подробнее про метасимволы регулярных выражений.

Если я правильно понял, нужно удалить строку, оканчивающуюся на params);
Для этого нужно заменить
[^\n]*params);\s*?\nна пустую строку

LeonidV

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
7-я строка
« Ответ #2 : Май 13, 2019, 12:54:56 pm »
> Если я правильно понял, нужно удалить строку
Нужно удалить 8-мь строк.

Если удалять так:
<script type="text/javascript"><!--[nu] var = .* params);[nu]//--></script>Появляется ошибка - 01.png

Если удалять так:
[^\n]*params);\s*?\nПоявляется ошибка - 02.png

Если удалять так:
[^\n]*params\);\s*?\nУдаляется строка №7

Arex

  • Jr. Member
  • **
  • Сообщений: 65
    • Просмотр профиля
Re: Программа выдает ошибки
« Ответ #3 : Май 18, 2019, 08:14:50 am »
Я сам сделал ту же самую ошибку, а потом внимательно не проверил.  ::)
[^\n]*params\);\s*?\nзаменить на пустую строку

Ещё я в тот раз наконец-то понял, что именно нужно удалить.

В общем так. В первоначальной замене нужно было экранировать не только скобку, но и слэши. Кроме того, там лишний знак "=", который стоит сильно позже var. Кроме того, стоит поменять жадную квантификацию на ленивую. В итоге получается:
<script type="text\/javascript"><!--\s*var .*? params\);\s*\/\/--><\/script>
Кроме того, можно сделать более общие правила для удаления подобных скриптов. Например, так:
<script type=[^>]*?><!--.*?--><\/script>
« Последнее редактирование: Май 18, 2019, 08:37:36 am от Arex »

LeonidV

  • Newbie
  • *
  • Сообщений: 10
    • Просмотр профиля
Спасибо!!!
« Ответ #4 : Май 18, 2019, 02:22:55 pm »
Спасибо!!!