首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“吞咽-替代”只是取代了一些目标,而不是全部目标。

“吞咽-替代”只是取代了一些目标,而不是全部目标。
EN

Stack Overflow用户
提问于 2016-04-08 21:39:35
回答 2查看 354关注 0票数 1

gulp-replace 并没有取代它应该做的一切。

我试图替换<li>,它只是删除其中的一些。当我添加一个列表项时,它被成功地删除了,但是原始文档中的那些项没有被删除。如果我将<li>复制/粘贴到一个新的文件中,这甚至是真的。

test.html是源文档。

代码语言:javascript
复制
<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>被移除,但其他的没有删除。

代码语言:javascript
复制
<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

代码语言:javascript
复制
(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('./'));
  });

})();

任何帮助都是非常感谢的!谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-08 22:09:23

另一个理由是:

代码语言:javascript
复制
.pipe(replace(/<\s*li[^>]*>(.*?)<\s*\/\s*li>/g, '$1')

And more ...">参考文献

票数 1
EN

Stack Overflow用户

发布于 2016-04-08 21:59:42

不能在tag函数中传递replace,可以使用字符串regex调用replace

要匹配所有li标记,可以尝试使用此regex

代码语言:javascript
复制
.pipe(replace(/\<li.+li\>/g, '')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36509769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档