【问题标题】:grabbing text between two anchor words using jquery使用jquery在两个锚词之间抓取文本
【发布时间】:2011-04-29 05:36:51
【问题描述】:

我正在使用 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 ullamcorper egestas。
Sed congue imperdiet sem et interdum。
Aliquam erat volutpat.
Nulla facilisi.
Duis in nisi arcu, non ullamcorper nulla.
Sed vel est vitae nunc volutpat ullamcorper.
Quisque semper 发酵 quam ac dapibus。 Quisque orci augue, cursus et dignissim nec, consequat non metus。

所以我想获取“Results”和“Sed”之间的所有文本。
任何帮助将不胜感激。

【问题讨论】:

    标签: jquery regex text


    【解决方案1】:

    正则表达式 Results(.*)Sed 会帮助您,但在 JS 中,点不匹配换行符,因此在解析文本以查找出现之前,您必须将 \r\n 替换为某些东西(您将替换回 \r\n in未来)或只是删除 \r\n 的出现。

    【讨论】:

      【解决方案2】:

      您可以通过字符串拆分轻松做到这一点:

      var txt = $('.post-text').html().split("<strong>Results</strong>")
      var txt1= txt[1].split("<strong>Sed</strong>")
      var result = txt1[0]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多