[英]How can I remove HTML markup from strings in state data?
的问题是,我从取出的数据收到的字符串包含大量HTML标记的如< p >
< h1 >
< br >
我想如果可能的话清除这些。
请注意,我不使用JQuery
state = {
companyName: "Loading",
loading: true,
data: [] //THIS IS WHERE I STORE ALL THE DATA THAT I FETCH
}
data(props) {
return(
<div>
<Table celled>
<Table.Header>
<Table.Row>
<Table.HeaderCell>Index</Table.HeaderCell>
<Table.HeaderCell>Författning</Table.HeaderCell>
</Table.Row>
</Table.Header>
{props.map((lawList, index) => (
<Table.Body>
<Table.Row>
<Table.Cell>{index + 1}</Table.Cell>
/* The line below displays the data, but the data includes alot of html tags that i wish to have removed */
<Table.Cell>{lawList.lawDTO.name}</Table.Cell>
</Table.Row>
</Table.Body>
))}
</Table>
</div>
)
}
render() {
return(
<div>
<h3> {this.data(this.state.data)} </h3>
</div>
)}
}
您可以使用正则表达式:
const test = '<br>asdasd</br><p>test</p>'.replace(/<.{1,2}>|<.{2,3}>/g, ''); console.log(test);
您可以执行以下操作,一旦您读取了数据:
let data = "<p>first <h1> second <br> third </p>"; data = data.replace(/<\\/?[^>]+(>|$)/g, ''); console.log(data);
您可能要呈现html吗?
render() {
return (
<div dangerouslySetInnerHTML={{ __html: this.state.data }}></div>
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.