2015-09-23 4 views
0

У меня есть большая строка HTML (и javascript). Мне нужно, чтобы получить текст, который находится внутри document.write()Javascript Получение текста изнутри скобки

<script> 
    $('.navigation').html(); 

    window.jQuery || document.write("<script src='//cdn.shopify.com/s/files/1/0967/6522/t/2/assets/jquery.min.js?15152727378558387064'> $('.link').attr('href',url) \x3C/script>") 

$('.button').html(); 

</script> 

В настоящее время я найти индекс document.write затем удалить любой текст перед ним.

strIndex = scriptHtml.indexOf('document.write(');     
scriptHtml = scriptHtml.substr(strIndex); 

Это оставит меня с такой строкой.

document.write("<script src='//cdn.shopify.com/s/files/1/0967/6522/t/2/assets/jquery.min.js?15152727378558387064'> $(".link").attr('href',url) \x3C/script>") 

$('.button').html(); 

</script> 

Мне нужно найти первую скобку в этой новой строке, а затем знать, где соответствующий кронштейн заканчивается, так что я могу получить строку внутри него.

Я пробовал некоторое регулярное выражение, но не могу создать тот, который работает.

\(([^)]+)\) 

выше регулярное выражение не работает, как это будет соответствовать, чтобы:

("<script src='//cdn.shopify.com/s/files/1/0967/6522/t/2/assets/jquery.min.js?15152727378558387064'> $(".link") 

как он просто ищет для открытия и закрытия скобки без учета того, сколько было открыто.

У кого-нибудь есть представление о том, как я могу получить текст, который я хочу, или думаю о лучшем способе, могу ли я получить текст внутри document.write?

Благодаря

+1

Ваш 'document.write' имеет недопустимый синтаксис. это должно быть 'document.write ("

Смежные вопросы