Regex - убрать ненужный JavaScript из текста - C#
Формулировка задачи:
Доброго времени суток!
Столкнулся с необходимостью удалить ненужный JavaScript код со строки методами C#. Вот пример ненужного JS:
Использую регулярные выражения, но я в них не силен и пока что ничего кроме удалить всю строку они у меня не делают. Буду благодарен любой помощи в этом деле.
Спасибо за внимание, Максим.
убирает скрипт, но не все, вот что остается:
$(document).ready(function(){ if('is_mp4' == 'is_mp4' && ($('#ipad').length > 0 || $('#ipad2').length > 0 || $('#iphone').length > 0)){ $('#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\' />"); } else{ var so = new SWFObject('/static/app/swf/vplayer.swf','video_player','630','525','10','#000000'); so.addParam('quality', 'high'); so.addParam('wmode', 'transparent'); so.addParam('scale', 'false'); so.addParam('allowfullscreen', 'true'); so.addParam('allowScriptAccess', 'sameDomain'); so.addVariable('media_id', '383987966'); so.addVariable('section_id', '2'); so.addVariable('resource_id', '25'); so.addVariable('session_id', ''); so.addVariable('userad_id', ''); so.addVariable('bit', ''); so.addVariable('referer', ''); so.addVariable('root_width', '630'); so.addVariable('root_height', '525'); so.addVariable('color', '#000000'); so.addVariable('autostart', 'false'); so.addVariable('config_file', '/static/app/video/config.xml'); so.addVariable('ad_file', 'noad'); so.addVariable('banner', ''); so.addVariable('config_file_append', ''); so.addVariable('hide_title', '1'); so.write('video_player_1'); } }); $(document).ready(function(){ $('#article_video_1 .close_open').click(function(){ $(this).toggleClass('pm_close'); $(this).toggleClass('pm_open'); $(this).find('.bg_plus_minus').toggleClass('plus_minus_close'); $(this).find('.bg_plus_minus').toggleClass('plus_minus_open'); $('#article_video_1 .v_content').toggleClass('v_content_show'); $('#article_video_1 .v_content').toggleClass('v_content_hide'); }); })
Пробую такой патерн, но что-то здесь не то:
const string pattern = @"[$(document)]?.*[})]*";
Такое:
@"[$(document).ready(function(){]?.*[})]+"
{
{
;
else{
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
{
{
;
;
;
;
;
;
;
Решение задачи: «Regex - убрать ненужный JavaScript из текста»
textual
Листинг программы
private static string RemoveJavaScript(string text) { int first = text.IndexOf("$(document)", System.StringComparison.OrdinalIgnoreCase); int last = text.LastIndexOf("})", System.StringComparison.OrdinalIgnoreCase); if (!first.Equals(-1) && !last.Equals(-1)) { var sb = new StringBuilder(); sb.Append(text.Substring(0, first)); sb.Append(text.Substring(last + 2, text.Length - (last + 2))); return sb.ToString(); } return text; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д