При публикации ссылки в CMS, отформатированной следующим образом:
[url=http://www.examplesite.eu]ExampleSite[/url]
, заголовком описания является URL-адрес, а не текст ссылки.(linktext = ExampleSite)
Вывод html выглядит следующим образом:
<a href="http://www.examplesite.eu" title="http://www.examplesite.eu">http://www.examplesite.eu</a>
Это должно быть:
<a href="http://www.examplesite.eu" title="ExampleSite">ExampleSite</a>
Так что я экспериментировал с url_bbcode_include.php, и этовозможно изменить поведение bbcode.
Оригинал, обратите внимание на заголовок = часть:
$text = preg_replace('#\[url=([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\' title=\'\2\3\'>\4</a>', $text);
Изменено, чтобы показать текст ссылки в качестве заголовка, обратите внимание на заголовок = часть:
$text = preg_replace('#\[url=([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\' title=\'\4\'>\4</a>', $text);
Модифицированный url_bbcode_include.php прекрасно работает , но имеет проблему, когда текст ссылки отформатирован с помощью цветного или другого HTML-элемента.Затем часть заголовка содержит html, такой как <span style=
, и уничтожает правильное отображение ссылки.
Поэтому я попытался стриптизить теги в title = part, но не могу заставить его работать.Также исследовал strip_tags ($ text);но это также убирает html из текста ссылки.
У кого есть решение для этого?