Fonction PHP de conversion d'éléments HTML en éléments AMP

Article ajouté le 05/01/2019

Fonction PHP de conversion d'éléments HTML en éléments AMP

Lorsqu'on souhaite proposer des pages AMP (Accelarated Mobile Page), on peut souvent être confronté à des données HTML qu'il faut traiter afin de convertir les éléments HTML qui les constituent en éléments AMP.

On peut par exemple avoir du contenu HTML stocké en base de données avec des éléments qu'on ne peut pas facilement convertir en éléments AMP.

Grâce à une simple fonction PHP que j'ai trouvé en me promenant sur le Web, on peut facilement convertir tous ces éléments avant de les afficher sur notre version AMP.

function ampify($html='')
{
    $html = str_ireplace(
        ['<img','<video','/video>','<audio','/audio>'],
        ['<amp-img','<amp-video','/amp-video>','<amp-audio','/amp-audio>'],
        $html
    );
    
    $html = preg_replace('/<amp-img(.*?)>/', '<amp-img$1></amp-img>',$html);
    
    $html = strip_tags($html,'<h1><h2><h3><h4><h5><h6><a><p><ul><ol><li><blockquote><q><cite><ins><del><strong><em><code><pre><svg><table><thead><tbody><tfoot><th><tr><td><dl><dt><dd><article><section><header><footer><aside><figure><time><abbr><div><span><hr><small><br><amp-img><amp-audio><amp-video><amp-ad><amp-anim><amp-carousel><amp-fit-rext><amp-image-lightbox><amp-instagram><amp-lightbox><amp-twitter><amp-youtube>');
    return $html;
}

2 commentaires

T

@Tiboo 2019-01-23 22:09:52

Merci pour la fonction.

Elle est très simple en soit. Mais elle fait le job !

Répondre

p

@p3x 2019-01-23 22:14:04

Salut,
Pas de problème.
Mais comme je l'ai mentionné, elle n'est pas de moi et je pense que tu peux trouver mieux en cherchant un peu...

Répondre

Poster un commentaire

Commentaire

Nom

Adresse e-mail

Votre adresse e-mail n'est pas publiée lorsque vous ajoutez un commentaire.
Tous les champs sont obligatoires pour soumettre votre commentaire.