ExBB Community » Файловый ExBB » Решение проблем » Отображение ссылок в постах

Страниц (2): [1] 2 »
 

1. Parapsixolog - 30 декабря 2015 — 10:49 - перейти к сообщению
Небольшая проблема. Если размещаешь на форуме сообщение содержащие ссылки без тегов [url]http://[/url] то последняя ссылка всегда не активная. Я только сейчас это заметил. Даже интересно, это только у меня так, или у всех. Сейчас проверю здесь.

http://exbb.info

http://exbb.info
(Добавление)
Ага, здесь всё правильно работает. У меня стоит ЧПУ, может это его влияние? Помогите разобраться!
2. NordWest - 30 декабря 2015 — 12:09 - перейти к сообщению
Единственное, что могу посоветовать это посмотреть исходный код страницы с этими ссылками - вероятно станет понятно откуда уши растут.
(Добавление)
У меня подобный косяк то же присутствует, так что дело не в ЧПУ
3. NordWest - 30 декабря 2015 — 14:44 - перейти к сообщению
Движок не превращает УРЛ в ссылку, если после ссылки нет хотя бы одного пробела. Однако все незначащие пробелы в конце движок то же отрезает. Вот и получается, что если за УРЛ нет хоть чего нибудь (текст, другой УРЛ или смайлик), то такой УРЛ парсером за УРЛ не считается. Это конечно ошибка. Если займусь - потом подскажу решение.
4. electron - 30 декабря 2015 — 17:21 - перейти к сообщению
читаем тему от этого поста и дальше по тексту. вроде ваш случай
5. NordWest - 30 декабря 2015 — 20:59 - перейти к сообщению
Случай то наш, но окончательно проблема так и не была решена. Я перечитал эту тему и просмотрел свой код на предмет установки у меня предложенных исправлений - все советы применены. Однако проблема действительно есть. Странно, что она не проявляется здесь.. Растерялся
http://exbb.info
http://exbb.info
http://exbb.info
http://exbb.info
http://exbb.info
6. NordWest - 30 декабря 2015 — 21:26 - перейти к сообщению
electron , дайте посмотреть установленный на этом форуме файл fm.class.php
7. Yamaliya - 31 декабря 2015 — 02:25 - перейти к сообщению
Parapsixolog , у себя проблему решаю так: вставлю после последней ссылки пустую строку, т.е. просто нажимаю <enter>, и всё работает.
8. NordWest - 31 декабря 2015 — 04:40 - перейти к сообщению
wasp
У меня интер не помогает. Если после ссылки нет видимых символов, то форум (по крайней мере у меня) их отбрасывает.
9. electron - 31 декабря 2015 — 06:27 - перейти к сообщению
NordWest пишет:
electron , дайте посмотреть установленный на этом форуме файл fm.class.php


это часть файла fm.class.php с этого форума , отвечающая за обработку текста :

Спойлер (Отобразить)


закидываю этот код целиком на финал - ваша проблема решается. но этот код затрагивает много модов, таких как редирект, коды ютуба и тд и тп. так что ставить его куда-то целиком не вариант.
решение проблемы где-то с этих строках. надо разбираться
10. CAB - 31 декабря 2015 — 13:24 - перейти к сообщению
Parapsixolog пишет:
Если размещаешь на форуме сообщение содержащие ссылки без тегов [url]http://[/url] то последняя ссылка всегда не активная.
Решение по ссылке http://exbb.info/community/topic...29236#1304629236
11. NordWest - 1 января 2016 — 10:32 - перейти к сообщению
CAB пишет:
Мне кажется, я нашёл лучший способ исправления и рекомендую его вместо написанного ранее:
Открываем файл topic.php находим строку

$post = $threads[$key]['post'];

и заменяем её строкой

$post = $threads[$key]['post'].' ';



Этот способ действительно работает. Но я всё же пороюсь в fm.class.php - может найду причину.
12. NordWest - 1 января 2016 — 14:27 - перейти к сообщению
Вроде нашел, что поменять...

В fm.class.php ищем код

CODE:
$string = preg_replace_callback("#(^|\s|\b)(".$patern.")(\[|\s|$)#xis",


который меняем на

CODE:
$string = preg_replace_callback("#(^|\s|\b)(".$patern.")(\b|\s|$)#xis",
13. Parapsixolog - 1 января 2016 — 16:53 - перейти к сообщению
CAB пишет:
Мне кажется, я нашёл лучший способ исправления и рекомендую его вместо написанного ранее:
Открываем файл topic.php находим строку

$post = $threads[$key]['post'];

и заменяем её строкой

$post = $threads[$key]['post'].' ';


CAB, спасибо, работает!


NordWest пишет:
Вроде нашел, что поменять...

В fm.class.php ищем код

$string = preg_replace_callback("#(^|\s|\b)(".$patern."Подмигивание(\[|\s|$)#xis",

который меняем на

$string = preg_replace_callback("#(^|\s|\b)(".$patern."Подмигивание(\b|\s|$)#xis",


Спасибо NordWest ещё за один вариант! Но у меня возникает вопрос, какой вариант лучше всего, корректнее всего применить? Или и тот и другой сразу?
14. NordWest - 1 января 2016 — 20:08 - перейти к сообщению
Решение, предложенное CAB при всем уважении это костыль, который не решает проблему, а лишь её маскирует. Правильно всё же применить то, что я нашел, т.к. там исправлена явная ошибка в коде.

было
Цитата:
$string = preg_replace_callback("#(^|\s|\b)(".$patern.")(\[|\s|$)#xis",


скорее всего левая квадратная скобка тут явно не к месту - это банальная опечатка

нужно так
Цитата:
$string = preg_replace_callback("#(^|\s|\b)(".$patern.")(\b|\s|$)#xis",
15. CAB - 1 января 2016 — 23:00 - перейти к сообщению
NordWest пишет:
Решение, предложенное CAB при всем уважении это костыль, который не решает проблему, а лишь её маскирует. Правильно всё же применить то, что я нашел, т.к. там исправлена явная ошибка в коде.
Решение проблемы лучше, чем костыль. Один только вопрос беспокоит, не повлияет ли это исправление на что-то ещё? Ведь сколько лет присутствует данная "опечатка" в коде и как бы не беспокоила особо...
Например, как будет интерпретироваться такая комбинация:
CODE:
попооhttp://exbb.info/community/topic.php?forum=6&topic=630&postid=1451689212#1451689212рпоо
http://exbb.info/community/topic.php?forum=6&topic=630&postid=1451689212#1451689212рпрор
порпрhttp://exbb.info/community/topic.php?forum=6&topic=630&postid=1451689212#1451689212
попооhttp://exbb.info/community/topic...2#1451689212рпоо
http://exbb.info/community/topic...#1451689212рпрор
порпрhttp://exbb.info/community/topic...89212#1451689212
На этом форуме послессылочный текст воспринимается как ссылка, на моём - нужен пробел. Что лучше?
http://exbb.9im.ru/ExBBsu050/top...89620#1451689620
Мне кажется что это была не опечатка, а костыль для тех, кому не понравился вариант как на этом форуме.

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0252]     [ ]