我正在使用Jquery的ajax方法从表单中检索数据。数据恢复正常,我可以通过id或class检索单个div元素。
我的问题是这个 - 在一个div中我想要检索两个常量锚词之间发生的特定文本;这个文本发生在div的开头。我创建了一个包含div中所有文本的字符串,我猜我可以用两种方式处理它。第一种方法是使用正确的正则表达式运行.match()
,或者运行.replace()
以删除结束锚字后的所有文本。
虽然我对正则表达式的格式感到难过 - 或者我可能以错误的方式接近它?
所以,例如:
success: function(data) {
$('#result').html("<div id='message'></div>");
$('#message').html("<h2>Your Results</h2>");
$(data).find('.Status').appendTo('#message');
toreplace= $(data).find('.Results').text();
textresult = toreplace.match();
$('#message').append(textresult);
}
有问题的文字看起来像这样
结果 Lorem ipsum dolor sit amet,consectetur adipiscing elit。
Fusce iaculis ullamcorperegestas.②Sed congue imperdiet sem et interdum。
Aliquam erat volutpat。
Nulla facilisi。在Duisi arcu,非ullamcorper nulla。
Sed vel est vitae nunc volutpat ullamcorper
Quisque semper fermentum quam ac dapibus。 Quisque orci augue,cursus et dignissim nec,consequat non metus。
所以我想抓住'结果'和'Sed'之间的所有文字 任何帮助将不胜感激。
答案 0 :(得分:0)
正则表达式Results(.*)Sed
会对你有所帮助,但在JS中,dot,不匹配换行符,所以在解析出现的文本之前,你必须用某些东西替换\r\n
(你要将其替换回\ r \ n将来)或只删除\ r \ n。
答案 1 :(得分:0)
您可以使用字符串拆分轻松完成此操作:
var txt = $('.post-text').html().split("<strong>Results</strong>")
var txt1= txt[1].split("<strong>Sed</strong>")
var result = txt1[0]