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;
}
2 commentaires
@Tiboo 2019-01-23 22:09:52
Merci pour la fonction.
Elle est très simple en soit. Mais elle fait le job !
@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...