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;
}

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.