Доработал регулярку - теперь можно писать текст ссылки

This commit is contained in:
Krivchikov Dmitry 2014-11-16 17:03:03 +03:00
parent a58d29beb0
commit df18afd519
1 changed files with 7 additions and 3 deletions

View File

@ -9,13 +9,17 @@ class Helper
public static function replaceLinks($string, $linkTemplate = '/page/point/id/')
{
preg_match_all("(\[#\d*\])", $string, $links);
preg_match_all("(\[#(\d+)>?(.*?)\])", $string, $links);
$links = isset($links[0]) ? $links[0] : FALSE;
if ($links)
{
foreach ($links as $link)
{
$linkId = (int)mb_substr($link, 2, -1);
$idAndLink = mb_substr($link, 2, -1);
$idAndLink = explode('>', $idAndLink);
$linkId = $idAndLink[0];
$linkName = isset($idAndLink[1])?$idAndLink[1]:'<span class="glyphicon glyphicon-link"></span>';
if ($linkId)
{
@ -23,7 +27,7 @@ class Helper
if ($linkPoint->id)
{
$linkPoint->name = str_replace('"', 'ʺ', $linkPoint->name);
$string = str_replace($link, '[<a href="'.$linkTemplate.$linkId.'" title="'.$linkPoint->name.'"><span class="glyphicon glyphicon-link"></span></a>]', $string);
$string = str_replace($link, '<a href="'.$linkTemplate.$linkId.'" title="'.$linkPoint->name.'">'.$linkName.'</a>', $string);
}
}
}