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

View File

@ -40,13 +40,15 @@
$wgLinkTitlesSkipTemplates = false; $wgLinkTitlesSkipTemplates = false;
$wgLinkTitlesBlackList = array(); $wgLinkTitlesBlackList = array();
$wgLinkTitlesFirstOnly = false; $wgLinkTitlesFirstOnly = false;
$wgLinkTitlesWordStartOnly = true;
$wgLinkTitlesWordEndOnly = true;
$wgExtensionCredits['parserhook'][] = array( $wgExtensionCredits['parserhook'][] = array(
'path' => __FILE__, 'path' => __FILE__,
'name' => 'LinkTitles', 'name' => 'LinkTitles',
'author' => '[http://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]', 'author' => '[http://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]',
'url' => 'http://www.mediawiki.org/wiki/Extension:LinkTitles', 'url' => 'http://www.mediawiki.org/wiki/Extension:LinkTitles',
'version' => '1.5.0', 'version' => '1.6.0',
'descriptionmsg' => 'linktitles-desc' '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 LinkTitles 1.5.0: 2012-12-11
* Added new option to link only the first occurrence of a page title. * Added new option to link only the first occurrence of a page title.

Binary file not shown.