vue中的一段文字中的带有特殊符号 替换成input,递归处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中的一段文字中的带有特殊符号 替换成input,递归处理相关的知识,希望对你有一定的参考价值。

参考技术A 例如这种花括号要替换为input,生成效果图如图2,

解决思路是将上面的一段文字按照分割成数组,然后页面遍历这个数组

handTK(tkString, t1, tkArr)

  var s1 = tkString.match(/\(.+?)\/g);

  if (s1 != null && s1.length > 0)

    var obj = ;

    var s = tkString.split(s1[0]);

    obj.question = s[0];

    obj.questionType = s1[0];

    obj.input = "";

    obj.flag = "0";

    let p = s1[0].replace(/,(.+?)\/g,"");

    p = p.replace("","");

    obj.placeholder = p

    let t = s1[0];

    t = t.replace(/\(.+?),/g , "");

    t = t.replace("","");

    obj.flagType = t;

    tkArr.push(obj);

    if (s[1] != "" && s[1] != undefined && s[1] != null)

      this.handTK(s[1], t1, tkArr);

   

  else

    if (tkArr.length > 0)

      var obj = ;

      obj.question = tkString;

      obj.questionType = "";

      obj.input = "";

      obj.flag = "1";

      obj.placeholder = "";

      obj.flagType = "";

      tkArr.push(obj);

   

 

,

调用处

//填空题

if (this.dimensionList[i].subjectList[j].questionType == "03" &&!this.dimensionList[i].subjectList[j].industryFlag)

  var tkString = this.dimensionList[i].subjectList[j].questionContent;

  console.log("填空", tkString);

  var tkArr = new Array();

  this.handTK(tkString, "", tkArr);

  console.log(tkArr);

  this.dimensionList[i].subjectList[j].newCommentTK = tkArr;



结构

<el-col :span="23">

  <span v-for="(commentTK,indexTK) in dEle.newCommentTK" :key="indexTK" >

    <span v-html="commentTK.question"></span>

    <span  v-if="commentTK.flag =='0'">

      <span style="display:inline-block;height:auto;width:110px;margin-right:8px" >

        <el-input

          class="write-input"

          v-model="commentTK.input"

          :disabled ="isChange"

          :placeholder="commentTK.placeholder"

          maxLength='20'

          size="small"

          style="border:#fff;outline:none;"

          @input="inputWriteTK($event , commentTK,dEle,dItem , dIndx , indexTK)"

          @blur="blurWriteTK(commentTK,dEle,dItem.questionnaireId,dEle.dimensionId,dEle.id,dEle.newCommentTK)"

        ></el-input>

      </span>

    </span>

  </span>

c#中 如何解决xml格式的字符串中特殊字符

你指的是XML字符转义吧?
& lt; < 小于号
& gt; > 大于号
& amp; & 和
& apos; ' 单引号
& quot; " 双引号

&后面的空格去掉
参考技术A 你是说生成xml的时候有些特殊符号会被替换掉是么?
比如<被替换成& lt; >被替换成& gt;
这样就行了 @"<" +@">"
参考技术B 能在清除一点吗?感觉是序列化的问题呀!

以上是关于vue中的一段文字中的带有特殊符号 替换成input,递归处理的主要内容,如果未能解决你的问题,请参考以下文章

带有正则表达式替换的特殊符号

java中 去除String中的特殊符号保留字母和数字

如何在EXCEL进行特殊符号的替换

c#中 如何解决xml格式的字符串中特殊字符

Oracle中特殊字符&和'的处理方案

word文档中的图片怎么替换成别的图片