Очень давно заметил раздражающий баг на форуме, некоторые ссылки генерируются с кракозябрами:
Вроде как рабочий фикс:
Или:
Обсуждение проблемы:
xenforo.info
xenforo.com
xenforo.com
stackoverflow.com
Test:
habr.com
Вроде как рабочий фикс:
File location: src/XF/Http/Metadata.php:262 (XenForo 2.2.13)
PHP:
public function cleanMetadataString($string, $isUrl = false)
{
if (!$string)
{
return '';
}
// Added Code Start
if(mb_check_encoding($string, 'UTF-8') === false){
$string = mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1');
}else{
$string = mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8');
}
// Added Code End
$string = \XF::cleanString($string);
$string = utf8_unhtml($string, true);
$string = html_entity_decode($string, ENT_QUOTES | ENT_HTML5, 'UTF-8');
$string = utf8_unhtml($string);
$string = str_replace("\n", ' ', trim($string));
$string = \XF::cleanString($string);
if ($isUrl)
{
/** @var \XF\Validator\Url $validator */
$validator = $this->app->validator('Url');
$string = $validator->coerceValue($string);
if (!$validator->isValid($string))
{
$string = '';
}
}
return $string;
}
Обсуждение проблемы:
XF 2.2 - Проблема с кодировкой при вставке ссылки на видео из YouTube
При вставке в сообщение просто ссылки вроде https://www.youtube.com/watch?v=0hoXiUJAy7w на Youtube ролик у которого описание и заголовок кириллицей, имеем проблему с искажением кодировки заголовка и описания ролика : При этом ролик в BB кодах вставлятеся так ...
UTF-8 URL encoding with PHP 8.2 is broken
After trying to figure it out for weeks I finally found the solution to this URL problem. Downgrading PHP 8.2 (8.2.12) to 8.1 (8.1.26) fixed the issue. At this moment, I don't know if it's a PHP issue or XenForo issue but I am betting on XenForo and thus creating this thread.
Fixed - Broken autolink
Broken autolink and error message: TypeError: Argument 1 passed to XF\Util\Url::urlToUtf8() must be of the type string, null given, called in /src/XF/BbCode/ProcessorAction/AutoLink.php on line 430 src/XF/Util/Url.php:50 XF\Util\Url::urlToUtf8() in src/XF/BbCode/ProcessorAction/AutoLink.php at...
PHP DOMDocument loadHTML not encoding UTF-8 correctly
I'm trying to parse some HTML using DOMDocument, but when I do, I suddenly lose my encoding (at least that is how it appears to me). $profile = "<div><p>various japanese characters<...
Test:
XSS аÑакÑеÑ! ÐÑаÑкий Ð¾Ð±Ð·Ð¾Ñ XSS ÑÑзвимоÑÑей
ÐÑем пÑивеÑ! Рданной ÑÑаÑÑÑ Ñ ÑоÑÑ ÑаÑÑказаÑÑ Ð¿Ñо XSS ÑÑзвимоÑÑи, какие они бÑваÑÑ Ð¸ оÑкÑда Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ждаÑÑ. СÑÐ°Ð·Ñ ÑоÑÑ ÑказаÑÑ, ÑÑо ÑÑаÑÑÑ Ð¿ÑедназнаÑена ÑкоÑее Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñков...
Последнее редактирование: