【问题标题】:How to remove <br> tags from string in GraphQL query results如何从 GraphQL 查询结果中的字符串中删除 <br> 标签
【发布时间】:2019-05-08 05:58:37
【问题描述】:

我正在开发一个利用 Apollo 和 GraphQl 查询外部 API 的 React 应用程序。我的问题是数据中包含有
标签的字符串。我想删除
标签。

字符串看起来像:

Additionally, Igor works as a driver for a transport company.<br /><br />The spring agricultural works on the land started already and he now supports more expenses. 

我的响应数据看起来像“data.loans.lend.values”,因此我尝试对我的数据使用 str.replace() 方法。但是,它没有用。我可能已经花了大约五个小时在网上梳理以找到解决方案,但一直没能找到。

这就是我的 Apollo 查询组件的样子。

<Query query={kivaLoans} variables={{ country: country, sortBy: sort, limit: limitResults }}>
                {({ data, loading, error }) => {
                    if (loading) return <div><p>Loading...</p></div>;
                    if (error) return <p>ERROR</p>;

                    return (

这是我的 GraphQL 查询。

gql`
    query ($country: [String], $sortBy: LoanSearchSortByEnum, $limit: Int) {
  lend {
    loans(filters: {status: fundraising, country: $country}, sortBy: $sortBy, limit: $limit) {
      values {
        id
        plannedExpirationDate
        image {
          url(customSize: "s900")
        }
        name
        loanFundraisingInfo {
          fundedAmount
        }
        loanAmount
        description
        loanAmount
      }
    }
  }
}`

以前有没有其他人遇到过这个问题?

【问题讨论】:

  • replace 怎么不起作用?请更具体。另请说明您是如何尝试使用它的。

标签: javascript html reactjs graphql


【解决方案1】:

如果您以不喜欢的格式接收数据,这意味着 graphql 服务器、它所利用的数据库或它所利用的 api 正在以无用的格式向 graphql 服务器返回数据为你。另一种可能性是您的服务器本身正在以令人讨厌的方式格式化您的数据。所以这里是你的选择:

  1. 根据需要更改您的服务器/数据源
  2. 对返回的字符串进行全局替换:str.replace(/&lt;b&gt;/g, '').replace(/&lt;\/b&gt;/g, '')。仔细检查我的转义字符,我可能把它弄反了。

在字符串替换中,/[您要替换的内容]/g = 用于全局检测的正则表达式,跨越整个字符串

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多