[英]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.