Skip to content

Commit

Permalink
externallinks: minor adjustments
Browse files Browse the repository at this point in the history
  • Loading branch information
lpaulsen93 committed Jun 26, 2018
1 parent 605005e commit 36d2cd7
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
15 changes: 15 additions & 0 deletions _test/tests/inc/parser/parser_links.test.php
Expand Up @@ -158,6 +158,21 @@ function testExternalWWWLinkStartOfLine() {
$this->assertEquals(array_map('stripByteIndex',$instructions),$calls);
}

function testExternalWWWLinkInRoundBrackets() {
$this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
$this->P->parse("Foo (www.google.com) Bar");
$calls = array (
array('document_start',array()),
array('p_open',array()),
array('cdata',array("\n".'Foo (')),
array('externallink',array('http://www.google.com', 'www.google.com')),
array('cdata',array(') Bar')),
array('p_close',array()),
array('document_end',array()),
);
$this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls);
}

function testExternalWWWLinkInPath() {
$this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
// See issue #936. Should NOT generate a link!
Expand Down
4 changes: 2 additions & 2 deletions inc/parser/parser.php
Expand Up @@ -955,8 +955,8 @@ function preConnect() {
$this->patterns[] = '\b(?i)'.$scheme.'(?-i)://['.$any.']+?(?=['.$punc.']*[^'.$any.'])';
}

$this->patterns[] = '(?<!/)\b(?i)www?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])';
$this->patterns[] = '(?<!/)\b(?i)ftp?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])';
$this->patterns[] = '(?<![/\\\\])\b(?i)www?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])';
$this->patterns[] = '(?<![/\\\\])\b(?i)ftp?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])';
}

function connectTo($mode) {
Expand Down

0 comments on commit 36d2cd7

Please sign in to comment.