簡體   English   中英

如何從狀態數據的字符串中刪除HTML標記?

[英]How can I remove HTML markup from strings in state data?

  1. 我使用“ axios”從API提取數據。
  2. 我保存了本州收到的數據。
  3. 我將狀態給出的信息輸出到表中。

的問題是,我從取出的數據收到的字符串包含大量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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM