Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   извлечь текст из строки (https://javascript.ru/forum/misc/30425-izvlech-tekst-iz-stroki.html)

Alexander333 03.08.2012 18:26

извлечь текст из строки
 
Здравствуйте, есть строка:
имя 02/08/2012 13:56:43
текст, ссылки.
из нее нужно извлечь имя.
Проблема в том что имя может содержать буквы, пробели, специальные символы, а дата постоянно разная.
Подскажите как правильно получить имя
Заранее благодарен!

Deff 03.08.2012 18:40

Alexander333,
Приведите Пару - тройку вариантов строк

Alexander333 03.08.2012 18:52

Андрей Петрович 02/08/2012 13:56:43
Отличная подборка! Понравились песни!

den 02/05/2012 13:56:43
Отличная подборка! <a href='link'>текст</a>

vasya.+347 04/08/2012 13:56:43
текст!

что-то в этом роде))

Deff 03.08.2012 18:57

Alexander333,
1. Имя парсим с самого начала строки, вплоть до даты ? (И пробелы с краёв выпарсенного убрать = ДА?

Alexander333 03.08.2012 18:58

да, с начала до даты. И пробелы убрать.

Deff 03.08.2012 19:06

Alexander333,
C нуля часов время как отражено ? Час - Ночи = к примеру?

Alexander333 03.08.2012 19:09

01:00

Deff 03.08.2012 19:27

var a=[];
 a[0]='Андрей Петрович 02/08/2012 13:56:43\
 Отличная подборка! Понравились песни!';

 a[1]="den 02/05/2012 13:56:43\
 Отличная подборка! <a href='link'>текст</a>";

 a[2]='vasya.+347 04/08/2012 13:56:43\
 текст!';

function parseName(text) {
  var rega = /(?:\d{2}\/){2}\d{4}\s(?:\d{2}:){2}\d{2}/ig
  var a=text.split(rega);
  if (a.length < 2) return false;
  return a[0].replace(/^\s*(.*?[^\s])\s*$/ig,'$1');
}

for(var i in a){
  alert('srt№-'+i+':\n'+parseName(a[i]));
}

Alexander333 03.08.2012 19:36

Deff,
спасибо большое! Вот если бы на php форумах были такие профессионалы как Вы, которые с удовольствием помогают людям, то им не было бы цены. Еще раз спасибо)))

Deff 03.08.2012 19:41

Alexander333,
Вообще кнешн на клиенте подобные задачи выполнять не AЙС - простейший трабл - чел отключит ява-скрипт - нужна обязательно повторная перепроверка на сервере

Alexander333 03.08.2012 19:48

это нужно для комментариев, если отключит ява-скрипт, то просто не сможет их добавлять)

Deff 03.08.2012 19:52

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

Alexander333 03.08.2012 20:19

У меня только зарегистрированные пользов. могут оставлять комменты и изменить ник не смогут.

Alexander333 03.08.2012 20:26

извините сразу не учел, в тексте еще есть email и он тоже извлекается вместе с ником, как его убрать?

Извините все нормально, я просто затупил)))

Alexander333 03.08.2012 20:34

Цитата:

Сообщение от Дзен-трансгуманист
Предположу, что между датой и текстом все-таки есть перенос строки...

Нет, переноса строки нету, если бы был, я не стал бы просить помощи)

Alexander333 04.08.2012 01:37

я уже писал выше, что в данном случае, цитировать и писать комменты могут только зарегистрированные пользователи, и если кто-то зарегистрируется как "лол" то так и будет) за Ваш вариант тоже спасибо! И за то что не прошли мимо))

Alexander333 04.08.2012 02:06

а, так нельзя, слишком много символов) а Вы думаете есть такие уникалы?

Deff 04.08.2012 13:01

Цитата:

Сообщение от Alexander333
извините сразу не учел, в тексте еще есть email и он тоже извлекается вместе с ником, как его убрать?

Пару примеров в студию

Alexander333 04.08.2012 17:07

Цитата:

Сообщение от Deff (Сообщение 194515)
Пару примеров в студию

Это я затупил)) емеил есть, но он не попадает к имени, все отлично!
Спасибо!:)

Alexander333 04.08.2012 17:11

Дзен-трансгуманист,
Да, есть черти разные:lol:


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