Regex - убрать ненужный JavaScript из текста - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Столкнулся с необходимостью удалить ненужный JavaScript код со строки методами C#. Вот пример ненужного JS:
Листинг программы
  1. $(document).ready(function(){
  2. if('is_mp4' == 'is_mp4' && ($('#ipad').length > 0 || $('#ipad2').length > 0 || $('#iphone').length > 0)){
  3. $('#video_player_1').html("<video controls=\'[NULL]\' alt=\'В Днепропетровске продолжается подсчет результатов референдума\' width=\'630\' height=\'470\' poster=\'http://image.tsn.ua/media/images3/550xX/May2014/383987965.jpg\' src=\'http://vid6.tsn.ua/2014/05/12/383987966-2.mp4\' />");
  4. }
  5. else{
  6. var so = new SWFObject('/static/app/swf/vplayer.swf','video_player','630','525','10','#000000');
  7. so.addParam('quality', 'high');
  8. so.addParam('wmode', 'transparent');
  9. so.addParam('scale', 'false');
  10. so.addParam('allowfullscreen', 'true');
  11. so.addParam('allowScriptAccess', 'sameDomain');
  12. so.addVariable('media_id', '383987966');
  13. so.addVariable('section_id', '2');
  14. so.addVariable('resource_id', '25');
  15. so.addVariable('session_id', '');
  16. so.addVariable('userad_id', '');
  17. so.addVariable('bit', '');
  18. so.addVariable('referer', '');
  19. so.addVariable('root_width', '630');
  20. so.addVariable('root_height', '525');
  21. so.addVariable('color', '#000000');
  22. so.addVariable('autostart', 'false');
  23. so.addVariable('config_file', '/static/app/video/config.xml');
  24. so.addVariable('ad_file', 'noad');
  25. so.addVariable('banner', '');
  26. so.addVariable('config_file_append', '');
  27. so.addVariable('hide_title', '1');
  28. so.write('video_player_1');
  29. }
  30. });
  31. $(document).ready(function(){
  32. $('#article_video_1 .close_open').click(function(){
  33. $(this).toggleClass('pm_close');
  34. $(this).toggleClass('pm_open');
  35. $(this).find('.bg_plus_minus').toggleClass('plus_minus_close');
  36. $(this).find('.bg_plus_minus').toggleClass('plus_minus_open');
  37. $('#article_video_1 .v_content').toggleClass('v_content_show');
  38. $('#article_video_1 .v_content').toggleClass('v_content_hide');
  39. });
  40. })
Использую регулярные выражения, но я в них не силен и пока что ничего кроме удалить всю строку они у меня не делают. Буду благодарен любой помощи в этом деле. Спасибо за внимание, Максим.
Пробую такой патерн, но что-то здесь не то:
Листинг программы
  1. const string pattern = @"[$(document)]?.*[})]*";
Такое:
Листинг программы
  1. @"[$(document).ready(function(){]?.*[})]+"
убирает скрипт, но не все, вот что остается:
{ { ; else{ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; { { ; ; ; ; ; ; ;

Решение задачи: «Regex - убрать ненужный JavaScript из текста»

textual
Листинг программы
  1. private static string RemoveJavaScript(string text)
  2.         {
  3.             int first = text.IndexOf("$(document)", System.StringComparison.OrdinalIgnoreCase);
  4.             int last = text.LastIndexOf("})", System.StringComparison.OrdinalIgnoreCase);
  5.            
  6.             if (!first.Equals(-1) && !last.Equals(-1))
  7.             {
  8.                 var sb = new StringBuilder();
  9.                 sb.Append(text.Substring(0, first));
  10.                 sb.Append(text.Substring(last + 2, text.Length - (last + 2)));
  11.                 return sb.ToString();
  12.             }
  13.             return text;
  14.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут