Привет всем! Сохраняю html текст заметки в БД так PHP: entities('<p>Тег <b> выделяет жирным</p>') Как мне вывести текст пользователю в виде Код (Text): Тег <b> выделяет жирным ?
<code></code> htmlspecialchars() --- Добавлено --- Вообще иногда полезно заглядывать в исходный код сайтов. Вот ты ведь написал пост и у тебя здесь на форуме отобразилось так как тебе хочется. Значить нужно посмотреть как оно работает, тут это через преобразование в html-сущности происходит, т.е. через htmlspecialchars()
@AlexandrS на форуме wysiwyg а он и б и p сохраняет а обрабатывать хочет на выходе. Так себе решение. Тут лучший совет использовать готовые библиотечки bbcode wysiwyg. Надеюсь это не для пользователей они и script подсунуть могут и ссылок наставить и все что угодно --- Добавлено --- А вообще мне нравятся решения на подобии draft.js где пост хранится в виде объекта а не в html
@nospiou, речь вроде не о бибикодах, а о кодировании «чистого» текста. --- Добавлено --- P.S. Т.е. ТСу нужно не что-то там оформить особым образом, а наоборот не пропустить тэг в исходном виде и представить его в читабельном виде. --- Добавлено --- Это все приблуды. Хранить в html эффективнее всего, если контент предполагается выводить прежде всего на Web-страницы.
Спорный вопрос. Сегодня тебе нужно обернуть что то в один тег завтра в другой или сразу в несколько или скрыть определенную часть текста или еще что то. Это полезно для всего. Случай где не только web это само собой. Та даже если веб можно по разному выводить на разных устройствах в зависимости от разрешения от того где используется pwa cordova electron. Да и поиск намного удобнее и уж тем более еластиком. Ну и все остальное...
@nospiou, спорить не буду, потому что знаю, что отстаиваемый мной способ не самый популярный. Проблема в том, что на твоей стороне в основном будут те, кто реально особо-то и не выбирал. А вот угадай, в чью бы пользу был перевес, если поспрашивать людей, серьезно относящихся к этому выбору.
@miketomlin Твой подход более устаревший. Для большинства случаев этого хватает. Но если ты выберешь правильную таблетку... Попробуешь тот же next nuxt где каждое изменение тянет за собой другое а то в свою очередь третье вот тогда ты ощутишь тот самый вкус неограниченной свободы...
Выбираешь редактор https://github.com/search?o=desc&q=wysiwyg&s=stars&type=Repositories Ну и обрабатываешь https://github.com/ezyang/htmlpurifier или strip_tags или ищи инструкцию к редактору б - <b> p - <p>
Еще раз: ТСу нужна не фильтрация, чистка и т.п. @Konstant1n, в строке «<p>Тег <b> выделяет жирным</p>» кодировать <b> лучше заранее, например еще на клиенте, иначе нет формального признака, отличающего тэг p от текста <b>, только всякие исключения, например раз нет у <b> завершающей части, то преобразовать его в текст, но это сложно, а часто невозможно.
@miketomlin Редакторы это делают в том числе. Зачем ему писать свой если уже есть готовые. Тем более с его знаниями. Сейчас тег понадобился потом картинка потом еще что то.
P.S. Тэг p откуда берется? Приходит от клиента или добавляется уже на стороне сервера? Если последнее, сначала выполняйте HTML-кодирование, а потом уже добавляйте тэг p и т.п. --- Добавлено --- Да, я в общем-то это и имел в виду. --- Добавлено --- ...Лишь бы редактор не смешивал тэги и чистый текст с <b> и т.п., что в общем-то редкость даже при дефолтных настройках.