fix link replacement (table / one-letter replacement)

This commit is contained in:
lutranf
2014-08-28 10:54:38 +02:00
parent 27df89b0aa
commit 52d117316f
6 changed files with 63 additions and 72 deletions

View File

@@ -247,9 +247,9 @@ class ToolBox
//Phase 1 : Identify internal links : merge cases /#code-1 and code 1, destroy link.
$asPatterns = array();
foreach(Databap::$HASH_TO_PAGE as $sAlt=>$sFinal)
foreach(Databap::$HASH_TO_PAGE as $sAlt=>$sPage)
{
$asPatterns['`(^|\ )(https?://|)'.$sServerPath.'/?\#'.$sAlt.'\-([\d]+)`sui'] = '$1$4'.$sFinal.' $3';
$asPatterns['`(^|\ )(https?://|)'.$sServerPath.'/?\#'.$sAlt.'\-([\d]+)`sui'] = '$1$4'.$sPage.' $3';
}
$sText = preg_replace(array_keys($asPatterns), array_values($asPatterns), $sText);
@@ -260,9 +260,14 @@ class ToolBox
//Phase 3: rebuild link
$asPatterns = array();
foreach(Databap::$HASH_TO_PAGE as $sAlt=>$sFinal)
foreach(Databap::$HASH_TO_PAGE as $sAlt=>$sPage)
{
$asPatterns['`(^|\ )'.$sAlt.'\ ([\d]+)(\ |$)`sui'] = '$1<a href="#'.$sFinal.'-$2" target="_blank" class="internal_link round"><i class="fa fa-inline fa-c-'.$sFinal.'"></i>'.$sFinal.' $2</a>$3';
if(mb_strlen($sAlt)>1)
{
$sTitle = Databap::$PAGE_TITLES[$sPage];
$asPatterns['`(^|\ )'.$sAlt.'\ ([\d]+)(\ |$)`sui'] = '$1<a href="#'.$sPage.'-$2" target="_blank" class="internal_link round"><i class="fa fa-inline fa-c-'.$sPage.'"></i>'.$sTitle.' n°$2</a>$3';
if($sPage=='table') $asPatterns['`(^|\ )'.$sAlt.'\ ([_A-Z0-9]+)(\ |$)`su'] = '$1<a href="#'.$sPage.'-$2" target="_blank" class="internal_link round"><i class="fa fa-inline fa-c-'.$sPage.'"></i>'.$sTitle.' $2</a>$3';
}
}
$sText = preg_replace(array_keys($asPatterns), array_values($asPatterns), $sText);