suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Problem beim regelmäßigen Ersetzen von js

<!DOCTYPE html>
<html>
<head>
    <title>内容</title>
</head>
<body>
中文
<p>内容<i>内容</i></p>
</body>
</html>

Ersetzen Sie den Inhalt im Tag durch

<!DOCTYPE html>
<html>
<head>
    <title>{{#内容#}}</title>
</head>
<body>
{{#中文#}}
<p>{{#内容#}}<i>{{#内容#}}</i></p>
</body>
</html>

Wie schreibe ich die reguläre Lösung?

高洛峰高洛峰2700 Tage vor941

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-07-05 10:57:03

    第一,学过编译原理的话,你就会知道,正则是没有能力处理嵌套的数据结构的。也就是说,你想通过正则实现【选中 body 中嵌套的 p 的第一个 i 标签】这样的需求,在原理上是行不通的。

    第二,你要处理的是一个结构化的 DOM 文本,因此可以使用 jQuery 的 parseHTML 方法来实现。通过 jQuery parse 后得到的对象是可以使用 $ 来进一步选择 p 或 i 等节点的。这就能够简单有效地解决你的文本替换问题了。

    如果你在 Node 服务端,那么 jQuery 换成 cheerio 即可。

    Antwort
    0
  • PHP中文网

    PHP中文网2017-07-05 10:57:03

    如果只在当前你给的测试文本里你想做替换,因为情况比较简单,所以只要写个([u4e00-u9fa5]+)这样的正则匹配用{{#$1#}}去替换就行

    Antwort
    0
  • StornierenAntwort