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ЙС - простейший трабл - чел отключит ява-скрипт - нужна обязательно повторная перепроверка на сервере


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