Laravel 5.7 Уведомление -> строка, где нет опции выхода из html, но она работала в 5.5 - PullRequest
0 голосов
/ 14 января 2019

У меня такое же уведомление о коде в Laravel 5.5 и 5.7, для Laravel 5.5, я могу использовать <strong> в -> строке, но в 5.7 он избежит его.

В своем файле просмотра уведомлений я установил {{]} или {!! !!}, я все еще не могу отобразить HTML в своем электронном письме. В 5.5 мне не нужно вырваться, все равно работать.

\\this is when I not escape
&lt;strong&gt;2019-01-13 15:41&lt;/strong&gt;



 \\this is when I escape
 <strong>2019-01-13 15:37</strong>

Я хочу, чтобы дисплей отображался жирным шрифтом, как показано ниже.

2019-01-13 15: 37

оба метода также отображают тег, текст не будет выделен жирным шрифтом. Та же самая кодировка работает в 5.5, но не в Laravel версии 5.7.20

Ответы [ 2 ]

0 голосов
/ 14 января 2019

По данным @ driesvints

Вам не нужно без DoubleEncoding в 5.7, чтобы вы могли удалить это.

Как видите, в шаблоне экранируются строки:

структура / SRC / Осветите / Уведомления / ресурсы / виды / email.blade.php

Строка 15 в d818fd1

{{$ line}} Так что вам нужно указать, что в строке есть HTML. Попробуйте это:

-> строка (новая HtmlString ('Срок исполнения: '. Carbon :: parse ($ this-> info-> made_at) -> формат ('Y-m-d H: я ').' '));

Это решение. Спасибо!

0 голосов
/ 14 января 2019

При обновлении с 5.5 до 5.6 двойное кодирование лезвия Laravel удаляется. Если вы хотите сохранить прежнее поведение по предотвращению двойного кодирования, вы можете использовать метод Blade::withoutDoubleEncoding, подобный следующему.

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
  /**
   * Bootstrap any application services.
   *
   * @return void
   */
   public function boot()
   {
       Blade::withoutDoubleEncoding();
   }
}

Подробнее об этом можно прочитать на Документация Laravel .

...