Biblioteca de queriesAñadir enlaces que faltan en una entrada
Añadir enlaces que faltan en una entrada
Esta consulta realiza una búsqueda y sustitución con expresiones regulares para añadir los enlaces que falten en el contenido HTML de la entrada.
Todas las URLs que no estén rodeadas por una etiqueta de anclaje, como:
<p>Visit my website: https://mysite.com.</p>...se rodean con la etiqueta <a> correspondiente (eliminando también el dominio del texto y añadiendo un destino para abrir en una ventana nueva), pasando a ser:
<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
}
}
}