[英]How to replace/inject html tags in a text in node?
我在 react js 項目中有一個組件,它顯示一些文本。 text 變量是字符串類型,其中包含一些制表符轉義字符。 我想替換這個制表符並使用 div。 我如何將其替換為這樣,當它呈現時,它在呈現 HTML 時輸出 div。 所以在瀏覽器的頁面源代碼上,我看到類似這樣的內容 => <span> once upon a time, <div> there was a man <div> who had a house. </span>
<span> once upon a time, <div> there was a man <div> who had a house. </span>
text = "從前,\t有一個人\t有房子。";
class somcomponent extends React.Component {
render() {
return <span> {text}</span>;
}
}
您可以通過\t
拆分text
並在每個拆分時渲染一個div
,如下所示:
class somcomponent extends React.Component {
render() {
return <span>
{text.split('\t').map(s=><div>{s}</div>)}
</span>
}
}
在一個片段中:
const rootElement = document.getElementById("root"); ReactDOM.render( <Demo />, rootElement ); function Demo() { let text = "once upon a time, \t there was a man \t who had a house."; return ( <span> {text.split('\t').map(s=><div>{s}</div>)} </span> ); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script> <div id="root"></div>
text.split('\t')
會將您的文本拆分為一個介於 '\t' 之間的字符串列表。
現在,使用map
為該列表中的每個元素呈現<div>{s}</div>
,而s
是您正在迭代的當前字符串。
嗨厄齊爾,
Go 提前嘗試一下這個片段,看看這是否是你想要實現的,朋友! 讓我們知道你的結果!
const domEl = document.getElementById("container"); ReactDOM.render(<RemoveTabs />,domEl); function RemoveTabs() { let text ="Once upon a time, \t there was a man \t who had a house."; return(<div>{"<div>"+text.replace(/\t/g,'</div><div>')+"<div>"}</div>); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.4.2/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.4.2/umd/react-dom.production.min.js"></script> <div id="container"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.