Javascript 如何在节点中的文本中替换/注入html标记?

Javascript 如何在节点中的文本中替换/注入html标记?,javascript,html,node.js,reactjs,Javascript,Html,Node.js,Reactjs,我在react js项目中有一个组件,它显示一些文本。文本变量的类型为字符串,其中包含一些制表符转义字符。我想替换此制表符并使用div。我如何将其替换为 这样,当它呈现时,它会在呈现HTML时输出中的div。所以在浏览器中的source页面上,我看到类似的东西=>从前,有一个人有一所房子 text=“从前,有一个人有一所房子。” 类somcomponent扩展了React.Component{ render(){ 返回{text}; } } 您可以按\t拆分文本,并在每次拆分时呈现div,如下所

我在react js项目中有一个组件,它显示一些文本。文本变量的类型为字符串,其中包含一些制表符转义字符。我想替换此制表符并使用div。我如何将其替换为 这样,当它呈现时,它会在呈现HTML时输出中的div。所以在浏览器中的source页面上,我看到类似的东西=>
从前,有一个人有一所房子

text=“从前,有一个人有一所房子。”

类somcomponent扩展了React.Component{
render(){
返回{text};
}
}

您可以按
\t
拆分
文本
,并在每次拆分时呈现
div
,如下所示:

class somcomponent extends React.Component {
  render() {
    return <span>
      {text.split('\t').map(s=><div>{s}</div>)}
    </span>
  }
}
类somcomponent扩展了React.Component{
render(){
返回
{text.split('\t').map(s=>{s}}
}
}
在片段中:

const rootElement=document.getElementById(“根”);
ReactDOM.render(
,
根元素
);
函数Demo(){
let text=“从前,有一个人有一所房子。”;
返回(
{text.split('\t').map(s=>{s}}
);
}

你好,厄齐尔,

继续,给这个片段一个尝试,看看这是否是你想要实现的,朋友!让我们知道你那边的结果

const domEl=document.getElementById(“容器”);
ReactDOM.render(,domEl);
函数RemoveTabs(){
let text=“从前,有一个人有一所房子。”;
返回({“+text.replace(/\t/g,”)+“});
}


当你说tab时,你用'more text'来指div作为text?@JoseRojas-在字符串文本中有这些转义的tab字符“\t”,我想用实际的html div()来代替它们,非常感谢。这很有效。我遇到的一个小问题是,在一些示例中,我有多个制表符转义字符,而不是像这样的“\t\t\t”,不知道是否有办法将其替换为一个div多个制表符空间将导致列表中的一些空字符串元素。因此,可以在映射之前过滤掉非空字符串。像这样:text.split('\t').filter(s=>s!='').map(s=>{s})非常感谢。我为此提前道歉,但我被困在这里了。看起来像text.split('\t').map(s=>{s})这会返回一个数组,而不是字符串,对吗?如果可能,我如何将其转换为字符串,以便将其分配给字符串类型。我在这里使用typescript,所以它不允许我分配它。嗯。。您可以以某种方式使用
join
。但是我不确定为什么需要这个字符串(它不会以divs的形式呈现,在ReactJS中将元素呈现给DOM的方法是呈现ReactElements)。如果你确定这是必要的,我也会尽量告诉你:)谢谢。我是js新手,所以这只是正则表达式匹配,对吗?我知道正则表达式是它自己的东西,javascript也实现了它?不用担心,我们是来帮忙的,是的,这是正则表达式(RegEx)这不仅可以独立工作,还可以集成到大多数语言(包括现代语言)中,通过使用与一些正则表达式字符组合的模式,并借助本模块的方法(如exec、test、match、matchAll、replace、replaceAll、search、split等),帮助解决问题,在大多数情况下,这确实加快了字符串操作和验证过程,请查看此链接shorturl.at/fCUY9,开始了解RegEx的神奇世界。干杯,伙计们!
class somcomponent extends React.Component {
  render() {
    return <span>
      {text.split('\t').map(s=><div>{s}</div>)}
    </span>
  }
}