Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите разобрать строку !!! (https://javascript.ru/forum/events/54086-pomogite-razobrat-stroku.html)

samogray 03.03.2015 03:17

Помогите разобрать строку !!!
 
не могу ничего поделать... такая проблема - я получаю строку с параметра json - ето содержание текстового файла, мне надо его впихнуть в какой нибудь елемент (например параграф), этот файл имеет разрывы строк (может быть до 200 строк), когда я вывожу в консоль мне красиво все видно , но когда я беру этот текст и вставляю в парараграф, у меня не читает разрывы строк, и все подряд пишет, как решить ету проблему??? как каждую строку в отдельный параграф впихнуть.???
например переменная



var log = "
15:39:14,443 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
("subsystem" => "undertow"),
("server" => "default-server"),
("http-listener" => "default")
]) - failure description: {"JBAS014671: Failed services" => {"jboss.undertow.listener.default" => "org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener
Caused by: java.net.BindException: Address already in use: bind"}}
15:39:14,443 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
("subsystem" => "ejb3"),
("service" => "remote")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.ejb3.connector is missing [jboss.remoting.remotingConnectorInfoService.http-remoting-connector]"]}
15:39:14,536 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "wcm-pres-server.war" (runtime-name : "wcm-pres-server.war")
15:39:14,537 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "wcm-client.war" (runtime-name : "wcm-client.war")"

laimas 03.03.2015 04:50

"subsystem" => "undertow" - это что, представление php-массива описывающего ошибки сервера? Это вы хотите передать клиенту?

samogray 03.03.2015 11:40

та не суть это просто строка - содержание файла..., а файлов много, файлы с логами.., просто они передаютса с сервера в формате:

{
"file_name":"log.txt"
"content":"содержание файла"
....
}


вот ету строку нужно разбить, каждую строку в новом параграфе. я делал через replace ()искал по паттерну (/\r\n|\r|\n/) разрыв в качесте замены вставлял <br>, но вставляло такой символ "--" :help:

laimas 03.03.2015 11:46

{a : 1, b : 2} это объект и можно вывести в параграфы его свойства a и b.
Если же вам надо отобразить содержание лога как есть, и только с переводами строк, то поместите его содержание в тег PRE - отобразит как есть. Если это не приемлемо из-за длинных строк в нем, то что вам мешает заменить \r\n на <br> на сервере - nl2br(string)? Зачем парсить? Или серверный язык не РНР?

samogray 04.03.2015 13:50

спасибо, щас попробую, на сервере java . я еще пробывал через str.split(/$/g)- разбить в масив, разбивать по окончанию строки, но попадает только 1 елемент, - первая строка, которая есть единствинным елементом масива и имеет значения - строку остального содержымого...

laimas 04.03.2015 13:53

nl2br(string) - в java нет

ksa 04.03.2015 14:03

Цитата:

Сообщение от samogray (Сообщение 359356)
та не суть это просто строка - содержание файла..., а файлов много, файлы с логами.., просто они передаютса с сервера в формате:

{
"file_name":"log.txt"
"content":"содержание файла"
....
}

вот ету строку нужно разбить, каждую строку в новом параграфе. я делал через replace ()искал по паттерну (/\r\n|\r|\n/) разрыв в качесте замены вставлял <br>, но вставляло такой символ "--" :help:

Для обработки json никакие паттерны не нужны... :no:

samogray 04.03.2015 14:12

Цитата:

Сообщение от laimas (Сообщение 359358)
{a : 1, b : 2} это объект и можно вывести в параграфы его свойства a и b.
Если же вам надо отобразить содержание лога как есть, и только с переводами строк, то поместите его содержание в тег PRE - отобразит как есть. Если это не приемлемо из-за длинных строк в нем, то что вам мешает заменить \r\n на <br> на сервере - nl2br(string)? Зачем парсить? Или серверный язык не РНР?

я и вывожу ети свойства, да тег (<pre>) подошол,я и забыл о нем ))) но все таки хотелось б, каждую строку в отдельный параграф разбить.

laimas 04.03.2015 14:22

То что у вас в примере на json не похоже, вывести его свойства не получится.
Сервер у вас скорее всего Unix платформы, а значит, если и на клиенте разбор делать, то искать надо только \n - string.replace(/\n/g, '<br>').
Я не знаю java, но в нем тоже есть методы работы со строками, и подготовить лог-файл, разбив его на массив сообщений, и передав клиенту как json, можно. Клиенту бы осталось поместить элементы массива действительно параграфы.
Сервер мог бы тоже не просто разбить сообщения в массив, но и поместить их в html-теги параграфа, а клиент методом .load() загружал бы готовое.

samogray 04.03.2015 14:41

Цитата:

Сообщение от ksa (Сообщение 359541)
Для обработки json никакие паттерны не нужны... :no:

да я знаю что не нужны просто строка которая передаетса ето одно из свойтв json обєкта, и мне эту строку нужно разбить


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