Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Сокращение html ссылок в постах в 3.3.х

Проблемы с установкой или работой phpBB 3.3.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
romaamor
phpBB 3.0.5
Сообщения: 2260
Стаж: 12 лет 8 месяцев
Откуда: Одесса
Благодарил (а): 656 раз
Поблагодарили: 151 раз

Сокращение html ссылок в постах в 3.3.х

Сообщение romaamor »

Читал предыдущие посты для старых версий форума.
Как сделать что бы в 3.3.10 отключить эту функцию ? Ну вот совсем не нужны три точки при сокращении длинной ссылки.
er107
phpBB 2.0.15
Сообщения: 1041
Стаж: 13 лет 8 месяцев
Благодарил (а): 187 раз
Поблагодарили: 52 раза

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение er107 »

Кстати да, тем более, ссылка становится нерабочая. Правда с другой стороны бывают такие ссылки (на али или Озон), которые ну очень длинные.
Аватара пользователя
romaamor
phpBB 3.0.5
Сообщения: 2260
Стаж: 12 лет 8 месяцев
Откуда: Одесса
Благодарил (а): 656 раз
Поблагодарили: 151 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение romaamor »

Подсказали решение на одном из дружеских форумов.
Откройте файл phpbb/textformatter/s9e/link_helper.php найдите там в конце:

Код: Выделить всё

	/**
	* Truncate the replacement text set in a LINK_TEXT tag
	*
	* @param  \s9e\TextFormatter\Parser\Tag $tag LINK_TEXT tag
	* @return void
	*/
	public function truncate_text(\s9e\TextFormatter\Parser\Tag $tag)
	{
		$text = $tag->getAttribute('text');
		if (utf8_strlen($text) > 55)
		{
			$text = utf8_substr($text, 0, 39) . ' ... ' . utf8_substr($text, -10);
			$tag->setAttribute('text', $text);
		}
	}
55 это максимальная длина ссылки.
39 - количество символов перед точками, -10 - после точек.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12613
Стаж: 13 лет 3 месяца
Благодарил (а): 170 раз
Поблагодарили: 2535 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение Татьяна5 »

Это расширение удалено из сети, у меня сохранилось
kinerity_fulllinks.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16700
Стаж: 18 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 558 раз
Поблагодарили: 1848 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение rxu »

Татьяна5 писал(а): 03.12.2023 21:36 расширение удалено из сети
Не совсем. Просто автор поменял свой ник, теперь всё тут https://github.com/kaileymsnay?tab=repositories
Данное расширение тут https://github.com/kaileymsnay/fulllinks
Изображение
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение romeo_piter »

romaamor писал(а): 03.12.2023 14:45 Подсказали решение на одном из дружеских форумов.
Я правильно понимаю, что старые ссылки после этой правки не подхватятся? Нужен репарсинг?

Отправлено спустя 5 минут 28 секунд:
В идеале резать бы ссылки до конца строки домена. И красиво и достаточно.
Что б вместо какого-нить
*ttps://domen.com/кукулялятратата...опаопаопапа
было
*ttps://domen.com...
Никому эти кукуляля не нужны имхо.

Для этого достаточно откидывать всё после одиночного слэджа. Так возможно сделать?
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение romeo_piter »

Чатгпт подсказал регулярку.
Проверьте, пожалуйста, корректен ли код и не будет ли с ним проблем.
Визуально всё работает отлично:

Код: Выделить всё

public function truncate_text(\s9e\TextFormatter\Parser\Tag $tag)
	{
		$text = $tag->getAttribute('text');
		if (utf8_strlen($text) > 25)
		{
			$ptrn = '/(https?:\/\/[^\/]+)\/?.*/';
			$clnUrl = preg_replace($ptrn, '$1', $text);
			$text = $clnUrl;
			$text = $text . ' ... ';
			$tag->setAttribute('text', $text);
		}
	}
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12613
Стаж: 13 лет 3 месяца
Благодарил (а): 170 раз
Поблагодарили: 2535 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение Татьяна5 »

romeo_piter, уменьшение скорости работы кода будет, из-за наличия регулярки и preg_replace. На такой частоприменяемой функции это критично
romeo_piter
phpBB 2.0.22
Сообщения: 1368
Стаж: 15 лет 8 месяцев
Благодарил (а): 171 раз
Поблагодарили: 21 раз

Re: Сокращение html ссылок в постах в 3.3.х

Сообщение romeo_piter »

Татьяна5 писал(а): 13.07.2024 9:52 уменьшение скорости работы кода будет, из-за наличия регулярки
Пишут, что preg_replace и регулярки в php 8 уже отлично оптимизированы и не вызывают проблем вообще. Неужели, вставка ссылки раз в час может как-то повлиять на что-то?
romeo_piter писал(а): 13.07.2024 3:08 Я правильно понимаю, что старые ссылки после этой правки не подхватятся? Нужен репарсинг?
?

Вернуться в «Поддержка phpBB 3.3.x»