首页  >  问答  >  正文

关于取一段字符串中的一段xml的问题?

Blockly.Blocks['kjh'] = {
  init: function() {
    this.appendDummyInput().appendField('kjh');
    this.setOutput(true, null);
    this.setColour(164);
    this.setTooltip('');
    this.setHelpUrl('');
  }
};
Blockly.JavaScript['kjh'] = function(block) {
      var code = 'gdfnh';
      return [code, Blockly.JavaScript.ORDER_NONE];
}
<xml xmlns="http://www.w3.org/1999/xhtml">
    <block type="variables_get" id="EaezE9)%*e^B{Olq7?Le" x="147" y="34"></block>
</xml>

请问如何取这段字符串中的xml部分?非常感谢!

橱窗的光橱窗的光2785 天前1027

全部回复(2)我来回复

  • 数据分析师

    数据分析师2017-10-01 00:42:50

    关于取一段字符串中的一段xml的问题?-PHP中文网问答-关于取一段字符串中的一段xml的问题?-PHP中文网问答

    围观一下哦,学习一下。

    回复
    0
  • 迷茫

    迷茫2017-03-06 09:49:08

    遇到这种我的一般做法是利用replace+正则来提取。

    var t = `Blockly.Blocks['kjh'] = {
      init: function() {
        this.appendDummyInput().appendField('kjh');
        this.setOutput(true, null);
        this.setColour(164);
        this.setTooltip('');
        this.setHelpUrl('');
      }
    };
    Blockly.JavaScript['kjh'] = function(block) {
          var code = 'gdfnh';
          return [code, Blockly.JavaScript.ORDER_NONE];
    }
    <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="variables_get" id="EaezE9)%*e^B{Olq7?Le" x="147" y="34"></block>
    </xml>`;
    
    var res;
    
    t.replace(/<xml[^<>]+>[\s\S]*?<\/xml>/,function(e){
        res = e;
        return e
    });

    这里主要一个正则是关于这段文本如果有回车换行的情况,直接用.*并不能直接匹配,但可用[\s\S]*代替

    回复
    0
  • 取消回复