За последние 24 часа нас посетили 8970 программистов и 472 робота. Сейчас ищет 81 программист ...

Экранирование в Laravel

Тема в разделе "Laravel", создана пользователем Anton999, 29 янв 2020.

Метки:
  1. Anton999

    Anton999 Новичок

    С нами с:
    3 янв 2020
    Сообщения:
    16
    Симпатии:
    0
    Привет.
    У меня есть форма, в которую вставляется скрипт(код виджета плейлиста в ВК), т.е. должно работать так, вставляю скрипт в форму, всё летит в БД и уже на сайте отображается полноценный плейлист.

    На чистом php я использовал функцию addslashes() что бы перед отправлением в БД экранировать спец символы, в ларавель что то не могу сообразить как это сделать.

    Пишу метод с
    PHP:
    1. $post->playlist = addslashes($request->playlist);
    Но в место готового виджета, получаю просто экранированный скрипт.
    Как мне виджет то отобразить?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.398
    Симпатии:
    1.046
    Адрес:
    там-сям
    Не делай addslashes
    --- Добавлено ---
    А при выводе у тебя есть два варианта: с экранированием {{ }} и без {!! !!}
     
  3. Anton999

    Anton999 Новичок

    С нами с:
    3 янв 2020
    Сообщения:
    16
    Симпатии:
    0
    Если не делать, то так же, отображается только код скрипта. На php была подобная проблема, addslashes помог, а тут что то нет
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.633
    Симпатии:
    493
    Адрес:
    Татарстан
     
    Anton999 нравится это.
  5. Anton999

    Anton999 Новичок

    С нами с:
    3 янв 2020
    Сообщения:
    16
    Симпатии:
    0
    Во, спасибо, заработало!
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.847
    Симпатии:
    1.543
    Ты, скорее всего, просто не понял, что он сделал. На чистом php он тоже для этого не нужен.
    --- Добавлено ---
    Eloquent-модели сами всё экранируют, для сведения. Поэтому и получилось двойное экранирование :)