Regex Javascript - Remove text between two html comments -
well have 2 html comments this:
<!--delete--> blah blah blah blah <!--delete--> and want remove (including comments, character , newlines). btw using javascript , grunt make replacement.
thanks
regex
use following javascript regular expression match multiple instances of custom .html comments , content inside them:
/\<\!\-\-delete\-\-\>((.|[\n|\r|\r\n])*?)\<\!\-\-delete\-\-\>[\n|\r|\r\n]?(\s+)?/g then register custom function task inside gruntfile.js shown in following gist:
gruntfile.js
module.exports = function (grunt) { grunt.initconfig({ // ... other tasks }); grunt.registertask('processhtmlcomments', 'remove content inside custom delete comments', function() { var srcdocpath = './src/index.html', // <-- define src path .html outputdocpath = './dist/index.html',// <-- define dest path .html doc = grunt.file.read(srcdocpath, {encoding: 'utf8'}), re = /\<\!\-\-delete\-\-\>((.|[\n|\r|\r\n])*?)\<\!\-\-delete\-\-\>[\n|\r|\r\n]?(\s+)?/g, contents = doc.replace(re, ''); grunt.file.write(outputdocpath, contents, {encoding: 'utf8'}); console.log('created file: ' + outputdocpath); }); grunt.registertask('default', [ 'processhtmlcomments' ]); }; additional notes
currently running $ grunt via cli following:
- reads file named
index.htmlsrcfolder. - deletes content inside starting , closing custom comments,
<!--delete-->, including comments themselves. - writes new
index.html, excluding unwanted content,distfolder.
both values srcdocpath , outputdocpath need redefined per projects requirements.
edit updated regex allow inline comment usage. example:
<p>this text remains <!--delete-->i deleted<!--delete-->blah blah</p>
Comments
Post a Comment