Bibliothèque de queries
Bibliothèque de queriesAjouter les liens manquants dans un article

Ajouter les liens manquants dans un article

Cette requête effectue une recherche et un remplacement par expression régulière pour ajouter les liens manquants dans le contenu HTML de l'article.

Toutes les URLs qui ne sont pas entourées d'une balise d'ancrage, comme :

<p>Visit my website: https://mysite.com.</p>

...reçoivent la balise <a> correspondante autour d'elles (tout en supprimant également le domaine du texte, et en ajoutant une cible pour s'ouvrir dans une nouvelle fenêtre), pour devenir :

<p>Visit my website: <a href="https://mysite.com" target="_blank">mysite.com</a>.</p>
query GetPostData($postId: ID!) {
  post(by: { id: $postId }, status: any) {
    id
    rawContent
    adaptedRawContent: _strRegexReplace(
      searchRegex: "#\\s+((https?)://(\\S*?\\.\\S*?))([\\s)\\[\\]{},;\"\\':<]|\\.\\s|$)#i"
      replaceWith: "<a href=\"$1\" target=\"_blank\">$3</a>$4"
      in: $__rawContent
    )
      @export(as: "adaptedRawContent")
  }
}
 
mutation AddMissingLinksInPost($postId: ID!)
  @depends(on: "GetPostData")
{
  updatePost(input: {
    id: $postId,
    contentAs: { html: $adaptedRawContent },
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    post {
      id
      title
      rawContent
    }
  }
}