Регулярное выражение Jquery для поиска и форматирования текстовых частей - PullRequest
0 голосов
/ 02 августа 2011

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

Вы ответили (Да.) Ваш пациент со средним или высоким риском. Вы ответили (№) Ваш пациент с низким или высоким риском. Вы ответили (еженедельная доза). Ваш пациент с умеренным риском. и т. д.

Как найти и отформатировать различные части текста отзыва?Мне нужно отформатировать часть текста с кавычками курсивом.Также отформатируйте часть текста в конце жирным шрифтом, начиная со слова «at» до знака точки?

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

var feedbackString = "<p id='feedbackTxt'>" + currentQuizNode.find("Feedback").text() + "</p>";
$("#quizFeedback").append(feedbackString);

Заранее спасибо, Аттила

Ответы [ 2 ]

2 голосов
/ 02 августа 2011
currentQuizNode.find("Feedback").text().replace(/(.*\()(.*)(\).*patient is\s)(.*)/,"$1<span class=\"answer\">$2</span>$3<span class=\"risk\">$4</span>")

очень некрасиво, но работает: P

0 голосов
/ 02 августа 2011
var feedbackString = "<p id='feedbackTxt'>" + 
  currentQuizNode.find("Feedback").text().
    replace(/"(.*)"/, "<span style='font-style: italic;'>$1</span>").
    replace(/(\bat\b.*?\.)/, "<span style='font-weight: bold;'>$1</span>") + 
    "</p>";
$("#quizFeedback").append(feedbackString);

Если вы хотите сказать кавычки вместо кавычек, то измените:

replace(/"(.*)"/, "<span style='font-style: italic;'>$1</span>").

На:

replace(/(\(.*?\))/, "<span style='font-style: italic;'>$1</span>").
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...