问题是我从提取的数据中收到的字符串包括很多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);
可能,你想要render the html?
render() {
return (
<div dangerouslySetInnerHTML={{ __html: this.state.data }}></div>
)
}