Категории форума

Появляется amp; после & в ссылке. Как исправить?

Не косается конкретно этой сборки, маленький PHP-фикс в целом для Cotonti


webitproff
webitproff • 05.01.2025 11:56 #1

 

Бывает, что в уже в клиентской части страницы, в HTML-коде, в ссылке вместо «&» получаем «&».

Это потому, что со знака «&» (амперсанд) начинаются комбинации символов (HTML-коды), чтобы корректно отображать определенные знаки на веб-страницах.
например:

© - © - копирайт
$ - $ - знак доллара
😀 - 😀 - Улыбающееся лицо.

Например, в каком либо плагине, в php-файлах нужно получить ссылку и передать её tpl-файлы, чтобы уже в нужном месте, эту гипертекстовую ссылку вывести или подключить.

В .tpl
создаем тег {MY_TAG}, для размещения его в шаблоне.

В .php

$my_url = str_replace('&', '&', cot_url('forums', "m=posts&id=" . $p));
....
$mskin = cot_tplfile([
	'zakaz', 
	'posts', 
	Cot::$structure['zakaz'][$s]['tpl']
]);
$t = new XTemplate($mskin);

$arrayMyTags = [
	...
	'MY_TAG' => Cot::$cfg['mainurl'] . '/' . $my_url,
	....
];

....

$t->assign($arrayMyTags);

......

$t->parse('MAIN');


str_replace - в данном случае, - это функция, которая возвращает строку,

где ищем первый аргумент '&'

и заменяем на второй аргумент '&'

в третьем аргументе - тело ссылки cot_url('forums', "m=posts&id=" . $p)

 

Отредактировано: webitproff (06.01.2025 08:00, 1 год назад)
🗿

🧙‍♂️ Радуйся, странниче добрый и честный! Не понапрасну привела тя стезя в земли сии. Зде бо мужи мудры и искусники дела писменнаго и численнаго, что куют словеса и плетут узоры кода, тайны разгадывают и знанием делятся, летописи множа и ремесло цифровое творя.
⬅️ Аще налево пойдеши — обрящеши грамоты древния, писания старинныя и свитки учения. ⬆️ Аще прямо — слово мудрое и совет от мужей разумеющих, что в деле кодописном искусны, получиши. ➡️ Аще направо — сам в писцы и летописцы внидеши, и в ремесло цифровое, где строки и знаки в дело живое обращаются, слово свое в память веков вложиши.
📝 Не медли же — нареки имя свое, и вниди в чин наш, и стань с нами в братстве, где код есть магия, а строки — заклятия живыя, числом и буквою слово едины суть.
🏰 Не тайно есть собрание сие, и не инициации в нем, но многое сокрыто от пришлых и ступалого, понеже не всякому открывается знание, но токмо ищущим и пребывающим в деле сем.