Show
Ignore:
Timestamp:
07/25/08 20:43:26 (4 months ago)
Author:
send
Message:

avoid false recognition, comma separated , pri

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/appendAnchor.js

    r16404 r16424  
    44 * @description   append anchors to texts look like url. 
    55 * @author        SAKAI, Kazuaki 
    6  * @version       0.01 
     6 * @version       0.02 
    77 * == VimperatorPlugin== 
    88 */ 
     
    1616        '/descendant::*[not(contains(" TITLE STYLE SCRIPT TEXTAREA XMP A ", concat(" ", local-name(), " ")))]/child::text()' 
    1717      ); 
    18       var regex =  new RegExp("h?(ttps?):/+([a-zA-Z0-9][-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)"); 
     18      var regex =  new RegExp("h?(ttps?):/+([a-zA-Z0-9][-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+[-_~*(a-zA-Z0-9;/?@&=+$%#])"); 
     19       
    1920      var range = doc.createRange(); 
    2021      var last; 
     22      var href; 
    2123      for (var i = 0; i < nodes.snapshotLength; i++) { 
    2224        var node = nodes.snapshotItem(i); 
    2325        range.selectNode(node); 
    2426        while (node && (last = range.toString().search(regex)) > -1) { 
    25           range.setStart(node, last);  
     27          range.setStart(node, last); 
    2628          range.setEnd(node, last + RegExp.lastMatch.length); 
     29          href = 'h' + RegExp.$1 + '://' + RegExp.$2; 
    2730          var anchor = doc.createElement('a'); 
    28           var href = 'h' + RegExp.$1 + '://' + RegExp.$2; 
    2931          range.insertNode(anchor); 
    3032          anchor.setAttribute('href', href);