Skip to content

bytesnz/string-parse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

string-parse 0.0.1

A small module for parsing strings.

The string parsing can consist of stripping certain characters, splitting the string on certain characters and handling blocks (for instance strings within quotes)

Example

Try on Tonic

var stringParse = require('./src/lib/string-parse.js');

var parseOptions = {
  blocks: {
    stopTag: {
      start: '</',
      stop: '>',
      split: ' ',
      ignoreEmpty: true
    },
    startTag: {
      start: '<',
      stop: '>',
      removeStartStop: true,
      split: /^( +|=)/,
      storeSplit: true,
      ignoreEmpty: true,
      handle: function(block) { console.log('start tag', block); return block; },
      blocks: {
        expression: {
          start: '{{',
          escapedStart: '{{{',
          stop: '}}',
          escapedStop: '}}}',
          split: ' ',
          removeStartStop: true,
          handle: function(block) { console.log(block); return block; },
          reparse: true
        },
        quotes: {
          start: '\'',
          stop: '\'',
          escapedStop: '\\\'',
          blocks: {
            expression: {
              start: '{{',
              escapedStart: '{{{',
              stop: '}}',
              escapedStop: '}}}',
              split: ' ',
              removeStartStop: true,
              handle: function(block) { console.log(block); return block; },
              reparse: true
            }
          }
        },
        doubleQuotes: {
          start: '"',
          stop: '"',
          escapedStop: '\\"',
          removeStartStop: true,
          blocks: {
            expression: {
              start: '{{',
              escapedStart: '{{{',
              stop: '}}',
              escapedStop: '}}}',
              split: ' ',
              removeStartStop: true,
              handle: function(block) { console.log(block); return block; },
              reparse: true
            }
          }
        }
      }
    },
    expression: {
      start: '{{',
      escapedStart: '{{{',
      stop: '}}',
      escapedStop: '}}}',
      split: ' ',
      removeStartStop: true,
      handle: function(block) { console.log(block); return block; },
      reparse: true
    }
  },
  debug: 1
};


console.log(stringParse('<test blah="blahvalue" blah2="{{blah2expression part1}}" {{testblockstartexpression part1}}>{{intestblockexpression}}<inner>innertext</inner>afterinner</test>aftertest', parseOptions));

About

Javascript library for parsing strings

Resources

License

Stars

Watchers

Forks

Packages

No packages published