DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/)
-   JavaScript / DHTML / AJAX (http://www.daniweb.com/forums/forum117.html)
-   -   javascript regular expression problem (http://www.daniweb.com/forums/thread120606.html)

blaater Apr 23rd, 2008 11:22 am
javascript regular expression problem
 
Hello,

Currently I'm working on a funtcion which has to eval() some events from a string i'm injecting into the dom. The problem is that i've tested my regular expression on http://www.regular-expressions.info/...ptexample.html and every time it works perfect. Only when I implement it in my website it doesn't work. The string I'm using is :
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus sollicitudin dolor et eros. Aenean diam ipsum, rhoncus sed, laoreet et, vulputate non, ligula. Nulla vehicula, augue vel pharetra hendrerit, mauris lorem cursus nunc, at ullamcorper eros libero </p><p><p class="swfObject left" id="flash95_263671"></p><script type="text/javascript">var so95_263671 = new SWFObject("/file/get-swf/iFileId/95", "flash95_263671", "250", "500", "8", "#ffffff");so95_263671.addParam("wmode", "opaque");window.addEvent('load', function () {so95_263671.write("flash95_263671");});</script></p> <p>eget ipsum. Donec et ante eu mauris facilisis vestibulum. Morbi dolor lectus, molestie ut, bibendum non, interdum dignissim, dolor. Quisque at arcu.</p>

The function I'm using is:

        function evaluateBlock(sString) {
                var sRegexp = "(so[0-9]+_[0-9]+.write\(\".*\"\);)";
                var regex = new RegExp(sRegexp);
                console.log(sString);
                var match = regex.exec(sString);
                if (match == null) {
                        console.log("No match");
                } else {
                        var string = "match at position " + match.index + ":\n";
                        string = string + "string matched: " + match[0] + "\n";
                        if (match.length > 0) {
                                for (var i = 1; i < match.length; i++) {
                                        //eval(match[i]);
                                        console.log(match[i]);
                                }
                        }
                        console.log(string);
                }
        }

Does anybody know the solutions for my problem?
Thanks in advance!

peter_budo Apr 24th, 2008 4:13 am
Re: javascript regular expression problem
 
JavaScript is not Java or JSP ! ! ! Post moved to JavaScript section...

blater Apr 24th, 2008 3:21 pm
Re: javascript regular expression problem
 
The following doesn't work on the website you quoted, but seems to work on firefox (with the briefest of testing :) )...

   var sRegexp = "so[0-9]+_[0-9]+\.write\\(\'.*\'\\)\;";

I've added escaping for the "." before "write", the single quotes, the semicolon, and the parenthesis.

blaater Apr 25th, 2008 4:33 am
Re: javascript regular expression problem
 
Thanks a lot, you really helped me out!

The code is still not working because the javascript isn't recognised by the browser, have to eval() all the code within the <script> tags, except for the event, I'll figure it out myself.

Thanks!


All times are GMT -4. The time now is 7:33 am.

Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC