当前位置: 首页 > 面试题库 >

获取字符串中的内容

陈俊郎
2023-03-14
问题内容

我要执行以下操作。

$("a").click(function (event) {

    event.preventDefault();

    $.get($(this).attr("href"), function(data) {

        $("html").html(data);

    });

});

我想要所有超链接的行为进行ajax调用并检索html。

不幸的是,您不能简单地用ajax响应中收到的html替换当前的html。

如何仅获取<body> </body>ajax响应的标记中的内容,以便 替换现有html中正文的内容。

编辑:<body>开始标记并不总是这样<body>,有时可能会有一个类,例如

<body class="class1 class2">


问题答案:

如果我对您的理解正确,请使用正则表达式在body标签之间获取内容。

$.get($(this).attr("href"), function(data) {
    var body=data.replace(/^.*?<body>(.*?)<\/body>.*?$/s,"$1");
    $("body").html(body);

});

编辑

根据您在下面的评论,这是一个更新,以匹配任何body标签,无论其属性如何:

$.get($(this).attr("href"), function(data) {
    var body=data.replace(/^.*?<body[^>]*>(.*?)<\/body>.*?$/i,"$1");
    $("body").html(body);

});

正则表达式为:

^               match starting at beginning of string

.*?             ignore zero or more characters (non-greedy)

<body[^>]*>     match literal '<body' 
                    followed by zero or more chars other than '>'
                    followed by literal '>'

(               start capture

  .*?           zero or more characters (non-greedy)

)               end capture

<\/body>        match literal '</body>'

.*?             ignore zero or more characters (non-greedy)

$               to end of string

添加“ i”开关以匹配大写和小写字母。

并且请忽略我对’s’开关的评论,在JavaScript中,默认情况下所有RegExp都已经是单行,要匹配多行模式,请添加’m’。(该死的Perl,在我写JavaScript时干扰了我!:-)



 类似资料:
  • 这是我的绳子 我需要获取和中的文本 我怎么能这样做呢? 我试过了 这是我的小提琴 但是我得到的错误是 未捕获的类型错误:a.getElementsByTagName不是函数 我该怎么做 注意: 这不是来自网站的内容,我试图从其他语句中获取文本,所以我将响应分配给一个变量并处理它。 我只需要使用脚本来执行此操作

  • 问题内容: 我有一个样本字符串 我只想要该值而不是(在另一个内部) 如何在Python中以最简单的方式做到这一点?也许通过使用RegEx(我不擅长)? 问题答案: 怎么样: 对我来说,这打印: 请注意,调用会找到与正则表达式的第一个匹配项,因此除非您再次重复搜索,否则它将不会找到。 编辑: 这里的正则表达式是python原始字符串文字,基本上意味着反斜杠不会被视为特殊字符,而是会原样传递给方法。正

  • 如何在Go中获取字符串的字符数? 例如,如果我有一个字符串“hello”,该方法应该返回5。我看到返回字节数,而不是字符数,因此返回2而不是1,因为在UTF-8中用两个字节编码。

  • 问题内容: 什么是获取两个字符串之间内容的最佳方法,例如 由于某种原因,这似乎在我的代码中的一个地方起作用,而不是另一个地方。我会以正确的方式解决这个问题吗?或者,还有更好的方法? 输出缓冲区也是这样做的方法还是file_get_contents? 提前致谢! 问题答案: 使用代替,这样您就不必逃避它们。 该修改 品牌和还包括换行。 并具有各种功能,例如的n到m倍。 基础的 各种标签等的高级(Ja

  • 问题内容: 我从html解析中得到一个字符串,即 我的代码是这样的 我不确定我的第二个拆分字符串应该是“’”还是“’,” 我希望我的结果是 问题答案: 我将使用正则表达式从这样的复杂输入中提取子字符串。 Swift 3.1: Swift 2.0:

  • 问题内容: 有没有一种方法可以在Python中对字符串进行子字符串化,以从第三个字符到字符串末尾获取新的字符串? 也许喜欢吗? 如果离开第二部分意味着“直到最后”,而如果离开第一部分,它是否从头开始? 问题答案: Python称这个概念为“切片”,它不仅适用于字符串,还适用于更多的领域。看看这里的一个全面的介绍。