Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript regex to get url from string containing script tag

I am trying to figure out how to write a regex that would provide the url from a string like this:

'<script type="text/javascript" src="http://chrismills.la/test.js"></script>';

This works, but I need to find a cleaner way to do this:

var url = '';
_content.replace(/src ?= ?"([^"]+)"/gi, function(res) {
    url = res;
    url = url.replace('src=','');
    url = url.replace(/['"]+/g, '')
    url = url.replace(/["']+/g, '')
});
script.src = url;

In action: http://jsfiddle.net/zb3jh180/

SOLUTION, based on answer below:

var regex = /<script.*?src="(.*?)"/gmi;
var url = regex.exec(_content);
script.src = url[1];
like image 488
user1572796 Avatar asked Sep 22 '26 12:09

user1572796


2 Answers

You can use this regex:

<script.*?src="(.*?)"

Working demo

Or also something like:

<script.*?"(http.*?)"

Working demo

like image 183
Federico Piazza Avatar answered Sep 24 '26 02:09

Federico Piazza


Updated the fiddle, let me know if this was what you are going for. Basically just creating a capture group:

            var srcRegEx = /src="(.*?)"/g;
            var source = srcRegEx.exec(_content);
            script.src = source[1];

http://jsfiddle.net/zb3jh180/1/

like image 27
tcmurphy Avatar answered Sep 24 '26 03:09

tcmurphy