javascript - `gulp-replace` 仅替换部分目标,但不是全部

标签 javascript replace gulp gulp-replace

<强> gulp-replace并没有取代它应该取代的一切。

我正在尝试替换 <li>的,它只是删除其中的一些。当我添加列表项时,它已成功删除,但原始文档中的列表项却未成功删除。如果我复制/粘贴<li>,情况也是如此。到一个新文件中。

test.html 是源文档。

<h2>Copied from source:</h2>
<ul>
    <li class="Bullets">Athletics</li>
    <li class="Bullets">Burglary</li>
</ul>

<h2>Entered in Sublime Text 2</h2>
<ul>
    <li>Lorem ipsum dolor sit amet.</li>
    <li>Eos ipsam in dolorum odio!</li>
    <li>Illum asperiores eligendi, iure tempora.</li>
    <li>Reprehenderit blanditiis repudiandae ex eligendi.</li>
</ul>

test.md 是输出的内容。请注意 <li>我在 Sublime Text 中输入的 被删除,但其他的没有。

<h2>Copied from source:</h2>
<ul>
    <li class="Bullets">Athletics</li>
    <li class="Bullets">Burglary</li>
</ul>

<h2>Entered in Sublime Text 2</h2>
<ul>
    Lorem ipsum dolor sit amet.</li>
    Eos ipsam in dolorum odio!</li>
    Illum asperiores eligendi, iure tempora.</li>
    Reprehenderit blanditiis repudiandae ex eligendi.</li>
</ul>

gulpfile.js

(function () {

  'use strict';

  var gulp = require('gulp');
  var replace = require('gulp-replace');
  var dest = require('gulp-dest');

  gulp.task('replace', function(){
    gulp.src(['source/*.html'])
      .pipe(replace('<li>',''))
      .pipe(dest('dest', {ext: '.md'}))
      .pipe(gulp.dest('./'));
  });

})();

感谢任何帮助!谢谢!

最佳答案

另一个正则表达式答案:

.pipe(replace(/<\s*li[^>]*>(.*?)<\s*\/\s*li>/g, '$1')

Reference

关于javascript - `gulp-replace` 仅替换部分目标,但不是全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36509769/

相关文章:

python - 为什么每行中的方法链接与方法会导致进程被杀死或内存不足?

css - Gulp 不会忽略带下划线的 SASS 偏音

javascript - 无法读取 null 的属性 'removeClass'

javascript - 在下拉列表中显示特定值

jquery使用正则表达式更改多个ID

c - 用索引替换

node.js - Gulp 将 Node 应用的 dist 文件夹部署到 Heroku

gulp - 用于 gulp 的 Sublime text 自定义构建系统

javascript - 在 javascript 类型的对象上找不到属性或字段 'location'

javascript - 从 Google Play 服务中的网页进行云保存