Запрет замены & на &аmр; в формировании урл

InstantCMS 2.X
#1 22 марта 2025 в 00:08

Здравствуйте. Тысяча извинений за создание этой темы, но ни отрицательного ни  положительного ответа на странице дополнения я так не дождался.

Суть вопроса: как сделать так, чтобы & в ссылке автоматически не менялся на &аmр;? Есть файл  jevix.class.php, там строка с этими спецсимволами закомментирована. Все манипуляции с этим файлом результата не дали. 

В дополнении к этому компоненту schema.org к Open graph та же самая ссылка формируется корректно и & не меняется на &аmр; Прошу помощи у сообщества...

Использую версию компонента 1.3.0 Установить новую не позволяет версия php. Замена формирования данных с htmlspecialchars на htmlspecialchars_decode устраняет проблему, НО выводится два meta при генерации которых используется _decode Первая ссылка корректная, а вторая с &аmр;

Пример:

<meta property=«og:video:iframe» content=«sait.com/fla/player.html&poster=Https://sait.com/upload/000/u1/c/1/11.jpg&file=Https://sait.com/video/fg.mp4&title=Тра-та-та»/>

и ниже почему-то формируется ещё один мета:

<meta property=«og:video:iframe» content=«sait.com/fla/player.html&amp;poster=Https://sait.com/upload/000/u1/c/1/11.jpg&amp;file=Https://sait.com/video/fg.mp4&amp;title=Тра-та-та»/>

Если оставить формирование данных htmlspecialchars, то выводится один некорректный мета с &аmр;

Может кто сталкивался с подобным?

#2 22 марта 2025 в 03:00

Сложно сказать не зная что это у вас там за плэер еще какой то. Вы показали как выводится, но сам код что вы там поставили не показали.

Дубль может произойти если вы что-то поставили ЗА приделы вывода тегов, за } например.

#3 22 марта 2025 в 06:12

 Ткт дело не в «плэере». Shema эту ссылку выводит корректно. 

Сегодня в 00:36
#4 22 марта 2025 в 15:56

Да не нужен мне ваш плеер, я говорю что в стандарном Opengraph этого нет. Значит вы правили frontend.php. А что вы там написали не понятно.

#5 24 марта 2025 в 22:58

Автор дополнения Schema помог устранить проблему дубля, за что ему огромное спасибо.

В моём случае, чтобы избежать появления &аmр; вместо & в отображаемой ссылке, пришлось использовать функцию htmlspecialchars_decode. Это касается компонента Open Graph независимо от того, используется ли он с дополнением Schema или без оного.

В связи с тем, что я изменил на своём сайте интеграцию видео, за вывод данных в og:video:url и пр. отвечает другое поле. Отсюда вопрос: есть ли возможность сделать, как бы выборку полей: либо, либо? Чтобы можно было прописать вывод второго поля, если первое потеряло свою актуальность? Для версии компонента 1.3.0

На примере, допустим, реализации вывода полей в Schema:

  1. $microdata .= '"embedUrl": "' . strip_tags(addslashes($item['название первого поля'] )? :($item['название второго поля, если первое не заполнено'])) . '",';

Попытался сам, но моих знаний явно не достаточно.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожее в блогах

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.