Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Преобразовать строку в HTML код (обратное htmlspecialchars из php) (https://javascript.ru/forum/misc/57836-preobrazovat-stroku-v-html-kod-obratnoe-htmlspecialchars-iz-php.html)

KosBeg 23.08.2015 16:06

Цитата:

Сообщение от daslex
Пока что я перешел к решению через бд и больше на нем сосредоточен.

по чуть-чуть ваша ситуация вылазит из задницы)
Цитата:

Сообщение от daslex
Не лень. Просто там об этом не написано. А если написано, то слишком непонятным языком.

ну да, там нету, но если посмотреть на код, то можно увидеть что второй параметр не обязателен
Цитата:

Сообщение от daslex
Лучше тот помощник, который что-то показывает, чем тот помощник который только причитает.

но я ни туда, ни сюда не подхожу :D

laimas 23.08.2015 16:11

Цитата:

Сообщение от daslex
Лучше тот помощник, который что-то показывает, чем тот помощник который только причитает.

А вы чего хотите, чтобы я вам код готовый написал? Вы, извиняюсь, игнорируете вопросы, которые задаются не рады пыток, а для того чтобы выяснить ситуацию. Это форум а не кафедра JS, здесь для оказания реальной помощи зачастую требуется обоюдная помощь, вопрошающего в пояснении, отвечающего а в его анализе.

А то все дураки, вы умный, а вам даже не вдомек, что кем-то ранее посоветованное hamlspecialchars, это уже сверхглупость, которую вы скушали и уцепились. А теперь к этому еще и Ajax, а он то тут причем?

А вам посоветовали очередной костыль, и вы его чуть не проглотили. Так что проблемы ваши сугубо по вашей оп вашей вине, а не по моей.

Rise 23.08.2015 16:19

Цитата:

Сообщение от KosBeg (Сообщение 385289)
по чуть-чуть ваша ситуация вылазит из задницы)

:lol:

daslex 23.08.2015 16:23

Цитата:

Сообщение от laimas (Сообщение 385281)
Вы, извиняюсь, игнорируете вопросы,

Делайте что хотите, не дай бог мне напороться на таких самоуверенных как вы еще раз. )

Я ни одного Вашего вопроса не проигнорировал.
Как бы я не отвечал, я получаю ответы в большинстве своем:
"Вы не знате ФС"
"Вы все делаете через задницу"
"Вам не нужно"
"Это прискверно"
"Думайте"

Хватит притягивать желаемое за уши.

Мне интересно даже в чем моя самоуверенность. В том что я слишком самоуверен в своих незнаниях?

daslex 23.08.2015 16:28

Цитата:

Сообщение от laimas (Сообщение 385290)
Это форум а не кафедра JS, здесь для оказания реальной помощи зачастую требуется обоюдная помощь, вопрошающего в пояснении, отвечающего а в его анализе.

Я уже писал, что проще смотреть на ситуацию моими глазами чем описывать все тонкости.

Посмотрел, увидел главные ошибки. Сказал как лучше сделать. И нет проблем. Нет же, я пытаюсь разжевать, мне некоторые пытаются помочь, при этом используют "мою неверную дорогу", и я слушаю и слушаю какой же я мудак, который делает все максимально неверно, только вот без приведения обвинителями к нужным путям. Угадайка не получится. Не понимая моей цели любому мне помочь тяжеловато.

laimas 23.08.2015 16:41

Цитата:

Сообщение от daslex
Мне интересно даже в чем моя самоуверенность. В том что я слишком самоуверен в своих незнаниях?

В том, что вы правы, а все что вам не советуют, хотя советовать очень трудно не зная ситуации на сервере, ибо - CMS ваша, у вас почему-то ну ни в какую не может хранить ваш контент. Это уже смешно. Ну бог с ним.
Не знаете базы, и оказывается, что база это нечто ужасно неудобное (а не удобствах правки данных в базе, о чем вы тоже рассуждали, я дипломатично промолчу), это от непонимания. Ну бог с ним.
Файлы, можно, а почему бы и нет. Но беда в том, что вы поступаете тут как раз через задницу, и да, это очень плохо. И что, вы послушали меня? Как бы не так, вы даже не остановились, не призадумались, все также продолжаете гнуть свою линию, причем виновен я - не понимаю чего вам надо, допрашиваю вас, ну и т.д...

Это и есть самоуверенность, что к вам пристал идиот не понимающий вас, гения. Конечно, куда проще воткнуть скрипт вам предложенный, вместо того чтобы задуматься, это ли решение, и вообще то ли я делаю?

Не хотите думать не надо, собирайте все что вам предложат и гадайте - подойдет, не подойдет, подойдет... Мне как-то по барабану, мне то от этого хуже уж точно не будет. )

daslex 23.08.2015 16:55

Интересно. А если я напишу много букв, то кто-нибудь читать станет? Я имею ввиду описание задачи и почему я сюда пришел с таким вопросом, какой он у меня получился. Там будут все ответы, которые я могу дать на возможные вопросы.

Просто это нереально длинная формулировка несложной задачи.

daslex 23.08.2015 17:15

Цитата:

Сообщение от laimas (Сообщение 385295)
В том, что вы правы,

Идиотом я Вас ни разу не называл и не думал о Вас как о идиоте. У Вас репутация слишком хорошая, чтобы так о Вас думать.

Я только писал о том, что Вы не до конца понимаете моей цели. Вы это и сами подтверждаете:
советовать очень трудно не зная ситуации

Я ни разу не отрицал ни одного из предлагаемых вариантов, если не видел, что предлагаемое ведет тому, что используя клиентский язык, я буду пытаться работать с ним как с серверным.

Дело не в том, что мне нужно сделать запись статьи и тупо показывать ее в открываемом окне, что действительно прескверно. Но некоторый текст нужно отражать в открываемом окне. В моем случае это не будет неудобством пользователю.

Вы так и не поняли почему я проглотил HTMLspecialchars, хотя я несколько раз пытался ответить.

Работая на файлах, я получал текст в переменную php. У меня такой случай, что внутри переменной php нужно обрабатывать текст таким образом, чтобы javascript его правильно проглатывал. Это не я придумал. Просто иначе у меня не работало. Поэтому пришлось обрабатывать текст внутри переменной php и отдавать его в javascript. Так все работало. При попытке в php поместить текст в переменную, текст буквально ломается и в переменной оказывается не текст, а неопределенное значение. Вот отсюда ноги растут у htmlspecialchars, но в открываемое окно такого вида текст прописывается в виде страницы, которая вырисовывает HTML код. Вот и всё.

_______________
Это даже не описание задачи и почему я здесь со своим этим вопросов мучаю вас тут. Описание моего пути, тонкостей и ответов на возможные вопросы выглядит значительно длиннее.

В то же время ели тупо посмотреть на ситуацию глазами визуально, то можно быстро понять чего я хочу.

laimas 23.08.2015 17:45

Цитата:

Сообщение от daslex
Интересно. А если я напишу много букв, то кто-нибудь читать станет?

Вот этого я не знаю, но с большей долей вероятности, нет. Для этого файлы нужно во вложение прикреплять.

Ваша проблема видна невооруженным глазом - htmlspacialchars не к месту. Но это только проблема, а чем она вызвана без "много букв" не понять.

Второе - window.open в контексте какого либо учебника, это верх неуважения к читателям, а чтобы понять почему, достаточно знать, что это окно без обязательств быть всегда сверху.

Ajax - это то, что не будет индексироваться, а примеры кода являются частью содержимого, так зачем его прятать? К тому же, Ajax, это всего лишь метод обмена данными с сервером, а никак не решение проблемы, причина которой кроется на сервере.

Третье - файлы или база, это всего лишь способ хранения данных на севере, а база как таковая не есть гарант того, что исключает хранения "костылей определенных пользователем". То есть хранить в ней данные можно также изначально в испоганенном виде. И htmlspecialchars, это шалости, есть те, кто загоняет в нее данные пропущенные через htmlentities, а потом с круглыми глазами вопрошает почему не работает как надо и со стандартным обвинением всех и вся в тупости и непонимании, что он прав когда так поступает. В общем база не инструмент автоматических исправлений ошибок, это всего лишь способ хранения данных предлагающий гораздо больше удобств и возможностей по сравнению с файлами.

Четвертое - пока не будет понимания необходимой структуры данных не поможет ни база, ни что либо другое.

Пятое - самую простую html-страницу можно породить обычной формой, например, по договоренности, что каждое двойное нажатие клавиши Enter при выводе на страницу (если данные в базе) или при сохранении (если данные в файлах) будет превращено в параграфы. Это простая до бессовестного операция:

<?='<p>' . implode('</p><p>', array_diff(array_map('trim', explode("\r\n", $text)), [''])) . '</p>'?>


Никто не запрещает и определить в форме поля описывающие различные заголовки, а также текст кода, который будет интерпретироваться как текст, а не html, но который будет таковым только опять же при выводе. И file_get_contents нужен только для получения этого текста который удобнее держать в отдельных файлах.

Шестое - храня данные в фалах, необходимость массива обуславливается только тем, что нужно хранить структуру (оглавление) учебника, а для вывода его страниц никакого JS вообще не нужно. JS нужно применять там, где он полезен, в данном случае для динамического добавления полей в форму выполняющей роль "html-редактора".

daslex 23.08.2015 18:24

Спасибо за интересное сообщение.
Я нуждаюсь именно в открываемом окне. Я не могу согласиться с авторами, которые утверждают, что это всегда неуважение. Во всех правилах есть исключения. Непосредственно этот прием раздражителем в моей ситуации являться не может.

Я делал подсветку кода в открываемом окне. Подсветка не срабатывала. Текст ломался. В ход пошли приемы экранирования и переработки под HTMLspecialchars. Окно открыть, текст вписать, код подсветить удалось. Только редактировать очень неудобно было.
Попробовал сделать тоже самое чуть-чуть в другом виде, где редактировать HTML было бы проще. Не заработало.

Я имел опыт знакомства с ajax, кое что пытался на нем писать, очень простое. Поэтому общее представление об этой технологии я имею. Со стороны должно казаться, что вместо открываемого окна лучше подгружать текст в страницу. Но я считаю, что у меня та ситуация, когда окно выгоднее.

Мне не нужна индексация. Мне надо так, чтобы пользователь не мог открыть напрямую страницу с текстом из файла или отыскать эту страницу в поиске. Я в некотором роде прячу ее, чтобы попасть на нее можно было только с сайта.

Насчет хранения данных я в курсе. Поэтому я и писал, что из-за того, что я вообще не умею работать с бд, из-за этого стал делать на файлах. При попытках сделать на бд, в самом начале, даже без открывания окна, я столкнулся с проблемой кодировок. Это к этому форуму отношения не имеет, поэтому я сюда с возникшими там вопросами не лезу.

htmlspecialchars
Надеюсь меня не забанят. Я очень долго пытался объяснить про этот момент, но не получается.
http://www.cyberforum.ru/php-beginne...ad1517252.html
___________________

Насчет испорченного текста в БД. Вероятно при моей попытке он как раз портится, но я не знаю о бд. Я не знаю, что с этим делать. Кое что у меня там не так получается.
___________________
Насчет структуры.
Я не очень понимаю какую из структур имеете ввиду. У меня будет множество текстов. Может 1000, может 2000. Каждый из этих текстов - это HTML страница. Вот эту HTML страницу я буду показывать пользователю, который захочет увидеть ее содержимое. Так как их много, а нужны тексты из определенного (потому как я открываю окно, то с указанием адресов не прокатит), то я решил, что разумно хранить эти тексты в массиве. (сейчас вот в бд). По идее не должно иметь значения где, разве что с бд работать должно быть удобнее.

Вы, наверное, на сайт лазали. Поэтому можете думать, что я что-то там напорчу в юзабелити. Нет, поверьте. Из-за того, что я выбрал окошко window.open, пользователи однозначно не пострадают. Все примеры, которые там описываются в статьях будут и дальше описываться в таком же виде, какие они сейчас есть без всяких раздражающих факторов.

После четвертого я бы и рад понять, но не могу осилить, простите уж за это.


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