RegExp + Многострочный текст (\r)
Всем привет.
Возникла проблема при парсинге многострочного текста с \n и \r и т.д Суть в том, что через Ajax PHP приложение шлёт нам текст, в котором переносы, \n \r и т.д Но когда получаю эти данные в JavaScript, то при match у текста в одну строку, всё норм, а у текста в несколько строк вообще не работает. Регулярку делаю так var rex = new RegExp('<b>(.*?)<\/b>',"im"); P.S вроде в регулярке поставил m... толку 0 Если PHP приложение шлёт в таком виде: $TEXT = '<b>Я ОЛОЛОЛО</b>'; то всё нормально. А если PHP приложение шлёт в таком виде: $TEXT = '<b>;lk;lk; l;;jkkj kjlkjjljjlkjklj</b>'; то match у JavaScript усирается каллавыми массами. |
/<b>([\s\S]*?)<\/b>/ |
Нет не работает вообще)
|
Работает.
|
FreePaint, в строке нельзя использовать переносы строк. Заменяйте их на \n или экранируйте их.
|
Цитата:
|
B@rmaley.e><e, у него ведь из PHP код в JS выводится.
|
Цитата:
Спасибо всем за советы, да пребудет с Вами сила !!! |
Сделал так, не стал в ПХП убирать переносы, а уже в самом JavaScript, в полученном тексте сразу сделал replace(/\r\n/g,'')
|
exec, \n это и есть переносы строк.
Если же вы имели в виду, что делать что-то вроде Код:
alert('<?php Цитата:
alert('<b>trololo\r\nololo</b> <b>trololo\r\nololo</b>'.match(/<b>([\s\S]*?)<\/b>/i)[1]) И еще: при задании регулярки через new RegExp не забывайте экранировать слеши в строке. |
Часовой пояс GMT +3, время: 13:30. |