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

Article ajouté le 05/01/2019

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.

Outils et techniques de développement

Il existe de nombreuses manières de concevoir un site Internet.

Certains optent pour des outils clés en main et d'autres préfèrent utiliser des solutions faites maison. Le choix n'est pas toujours évident et lorsqu'on y connait rien, il est préférable de se tourner vers un vrai expert.

Découvrez les techniques que j'utilise et quelques-uns des outils qui permettent de rapidement disposer d'un site Web.

Outils et techniques