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

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/') 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; $links = isset($links[0]) ? $links[0] : FALSE;
if ($links) if ($links)
{ {
foreach ($links as $link) 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) if ($linkId)
{ {
@ -23,7 +27,7 @@ class Helper
if ($linkPoint->id) if ($linkPoint->id)
{ {
$linkPoint->name = str_replace('"', 'ʺ', $linkPoint->name); $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);
} }
} }
} }