Added two options to restrict linking to whole words.

This commit is contained in:
Daniel Kraus
2012-12-22 17:14:27 +01:00
parent a2850bb318
commit 5f82daad6a
4 changed files with 15 additions and 3 deletions

View File

@ -77,6 +77,11 @@
global $wgLinkTitlesBlackList;
global $wgLinkTitlesSkipTemplates;
global $wgLinkTitlesFirstOnly;
global $wgLinkTitlesWordStartOnly;
global $wgLinkTitlesWordEndOnly;
( $wgLinkTitlesWordStartOnly ) ? $wordStartDelim = '\b' : $wordStartDelim = '';
( $wgLinkTitlesWordEndOnly ) ? $wordEndDelim = '\b' : $wordEndDelim = '';
// To prevent adding self-references, we now
// extract the current page's title.
@ -142,8 +147,9 @@
( $wgLinkTitlesFirstOnly ) ? $loopLimit = 1 : $loopLimit = count( $arr );
for ( $i = 0; $i < $loopLimit; $i+=2 ) {
// even indexes will point to text that is not enclosed by brackets
$arr[$i] = preg_replace( '/(?<![\:\.\@\/\?\&])\b(' . $safeTitle . ')\b/i',
'[[$1]]', $arr[$i], $limit );
$arr[$i] = preg_replace( '/(?<![\:\.\@\/\?\&])' .
$wordStartDelim . '(' . $safeTitle . ')' .
$wordEndDelim . '/i', '[[$1]]', $arr[$i], $limit );
};
$text = implode( '', $arr );
}; // if $title != $myTitle

View File

@ -40,13 +40,15 @@
$wgLinkTitlesSkipTemplates = false;
$wgLinkTitlesBlackList = array();
$wgLinkTitlesFirstOnly = false;
$wgLinkTitlesWordStartOnly = true;
$wgLinkTitlesWordEndOnly = true;
$wgExtensionCredits['parserhook'][] = array(
'path' => __FILE__,
'name' => 'LinkTitles',
'author' => '[http://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]',
'url' => 'http://www.mediawiki.org/wiki/Extension:LinkTitles',
'version' => '1.5.0',
'version' => '1.6.0',
'descriptionmsg' => 'linktitles-desc'
);

4
NEWS
View File

@ -1,3 +1,7 @@
LinkTitles 1.6.0: 2012-12-22
* Added new options to restrict linking to page titles at the beginning or an
end of a word. This enables linking variants of a page title.
LinkTitles 1.5.0: 2012-12-11
* Added new option to link only the first occurrence of a page title.

Binary file not shown.