Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   HTML теги в языковом файле (https://javascript.ru/forum/server/81918-html-tegi-v-yazykovom-fajjle.html)

Vaska 14.02.2021 08:38

HTML теги в языковом файле
 
Приветствую!

Нужно, чтобы в языковых файлах можно было применить теги HTML. Например такие как: <br>, <span>, <em>.
Фреймворк ThinkPHP6, китайский.
Языковой файл выглядит так:
<?php
$lang['use_top_up_cards']		= 'Оплатить с препей карты<br><span class="fl ml30">Доступная сумма:</span>';
$lang['pre_deposit']		= 'Оплатить с депозита<br><span class="fl ml30">Доступная сумма:</span>';
return $lang;


В шаблоне переменная записывается так:
{$Think.lang.use_top_up_cards}
{$Think.lang.pre_deposit}


В результате, в браузере, на странице сайта выводятся не обработанные теги вместе с текстом:
Оплатить с препей карты<br><span class="fl ml30">Доступная сумма:</span>
Оплатить с депозита<br><span class="fl ml30">Доступная сумма:</span>

Как можно заставить обрабатывать HTML теги в языковых файлах?
Может переменную $lang добавить в глобальный файл конфигурации и разрешить обрабатывать теги?
Как это сделать?
Какое есть решение?
Подскажите, если знаете.

Full-R 16.02.2021 17:03

https://www.php.net/manual/ru/functi...ecialchars.php

Aetae 16.02.2021 19:11

Во-первых: нахрена ты используешь какую-то китайскую хрень, на которую доков даже на английском нет?
Во-вторых: как и в любом подобном случае - идёшь в документацию и смотришь возможности твоего инструмента. Тут только гугл-транслейт добавится в процесс.

В данном случае для вывода без экранирования используется фильтр raw:
{$Think.lang.use_top_up_cards | raw}
{$Think.lang.pre_deposit | raw}
Но выводя без экранирования помни: нельзя ни в коем случае выводить так данные, полученные от пользователя.

Vaska 17.02.2021 11:56

| raw - я применяю, конечно только для вывода, а не для ввода.
Но это во всех файлах и сам разработчик применяет, а я хотел одним махом всё красиво сделать.

Aetae 17.02.2021 14:05

Хотите - делайте. Документация у вас есть, исходники есть. Могу только сказать что простого способа, судя по механике, нет и придётся поразбираться в потрохах.


Часовой пояс GMT +3, время: 12:47.