Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2021, 08:38
Аспирант
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 59

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 добавить в глобальный файл конфигурации и разрешить обрабатывать теги?
Как это сделать?
Какое есть решение?
Подскажите, если знаете.
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2021, 17:03
Аватар для Full-R
Аспирант
Отправить личное сообщение для Full-R Посмотреть профиль Найти все сообщения от Full-R
 
Регистрация: 05.09.2020
Сообщений: 41

https://www.php.net/manual/ru/functi...ecialchars.php
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2021, 19:11
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,698

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

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

Последний раз редактировалось Aetae, 16.02.2021 в 19:13.
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2021, 11:56
Аспирант
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 59

| raw - я применяю, конечно только для вывода, а не для ввода.
Но это во всех файлах и сам разработчик применяет, а я хотел одним махом всё красиво сделать.
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2021, 14:05
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,698

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление input и вывод в html value emptyindorill jQuery 1 05.05.2017 10:10
Диалог между HTML и внешним JS в контексте расширения GoogleChrome ev1lart Events/DOM/Window 0 26.04.2017 20:25
Преобразовать строку в HTML код (обратное htmlspecialchars из php) daslex Общие вопросы Javascript 71 23.08.2015 21:41
собрать из json Html Валерий1996 AJAX и COMET 1 15.06.2015 09:41
Как сохранить динамически генерируемую html страничку? Антоныч Javascript под браузер 1 01.03.2010 17:03