簡體   English   中英

如何從 React Native 項目中從 WordPress API 端點獲取的數據中刪除 HTML 字符?

[英]How do I remove HTML characters from the data fetched from a WordPress API endpoint in a React Native project?

我正在開發一個要求我從 WordPress 網站獲取帖子的 React Native 項目,這是我的代碼

render() {
if (this.state.isLoading){
    return(
    <View style={{flex: 1, justifyContent: 'center',}}>
        <ActivityIndicator />
    </View>
    )
    }
    else{

let posts = this.state.data.map((post, index) => {
    function strip_html_tags(str)
    {
       if ((str===null) || (str===''))
           return false;
      else
       str = str.toString();
      return str.replace(/<[^>]*>/g, '');
    }

  return (
          <ListItem thumbnail key={index}>
            <Left>
              <Thumbnail square source={{ uri: post.jetpack_featured_media_url != null ? post.jetpack_featured_media_url : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWBAMAAADOL2zRAAAAG1BMVEXMzMyWlpajo6PFxcW3t7ecnJyqqqq+vr6xsbGXmO98AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABPUlEQVRoge3Tv0/CQBjG8YcWaMcebymOENLI2MZoHMHEvVUKjq1K4lhM2Kvxx7/tUUiamDhc6GSez8INzbf3HleAiIiIiIiIiIiIiNozAGzvuJYTW2reXmso7bX8YN96HUR1a7RZ6+VVOgU+p4LuZGrSkqK0PWfwfl+3ht/hcpdvPkJ0g0fBYpYZtS7HttfPMatbAbZzJ1kjjnqVK1ihNzdpdX3b65S4qVsjXbG9EtuoEzliC/RbDFoIL7wY2NZrQayPzw1VpH/FUUqNjVrx0+9W8Rzrlt7yMMvMWq7fzHhoCTp6Rr0vw0uiH8+as69bov/AyNqf/Rms3Ky1aO7EYV93X2nlBIXg7WVSmrWs5q4eWrvVdYLbpR4/PTeZ8S9O82mdzMr7SVstV6mqrRaKh9ZSRERERERERET0n/wAZwMqI9kyPcoAAAAASUVORK5CYII=' }} />
            </Left>
            <Body>
              <Text>{strip_html_tags(post.title.rendered)}</Text>
              <Text note numberOfLines={2}>{strip_html_tags(post.excerpt.rendered)}</Text>
            </Body>
            <Right>
              <Button transparent>
                <Text>View</Text>
              </Button>
            </Right>
          </ListItem>
  );
});


使用一些 HTML 特殊字符呈現的帖子,我使用此代碼刪除了一些

    function strip_html_tags(str)
    {
       if ((str===null) || (str===''))
           return false;
      else
       str = str.toString();
      return str.replace(/<[^>]*>/g, '');
    }


但是有些不會 go 出來。 我仍然得到這個:

截屏

解決方案是使用 react-native-render-html 或 react-native-webview 庫。 Wordpress rest api 響應包含一些 ZFC35FDC70D5FC69D269883A822C7App.53EZ 標簽,因此需要刪除

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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