Pesquisar

Converter tags <img> em html em <amp-html> no template do wordpress

15/05/2020 às 18:23 17/05/2020 às 15:14

Descrição do Projeto:

A explicação detalhada do projeto encontra-se nesse vídeo: https://youtu.be/Rrve_rOW5Tw

Eu tô aprendendo PHP e a criar template para Wordpress e tô assistindo tutoriais no youtube, acabei achando esse tutorial aqui: encurtador.com.br/dHN57

Eu vi que dava para criar uma versão AMP no template, basicamente o cara do tutorial faz um filtro onde ele pega tudo do post e joga para um arquivo amp-single.php com a versão AMP HTML, o link do github do projeto dele tá aqui: encurtador.com.br/fvCEI

A parte do código que interessa é essa qui:

$allowed_html = array(
'img' => array(
'src' => true,
'srcset' => true,
'width' => true,
'height' => true,
'layout' => true,
'alt' => true
),

Que basicamente ele filtra as tags img do post e joga para a versão AMP, eu adicionei mais algumas coisas porque ele não fala no vídeo, que no caso tem que converter as tags <img> para <amp-img>, sendo que eu tô enfrentando um problema, eu não sei como eu pego o src (link) da imagem e jogo ele para uma variável, para que assim eu consiga pegar o tamanho da imagem com o getimagesize do PHP e colocar ele na tag <amp-img>, vou botar o código abaixo para vocês entenderem melhor:

Eu criei uma variável de nome $tamanho:

$tamanho = getimagesize(PRECISO COLOCAR O LINK DAS IMAGENS AQUI);

Aí eu jogo essa informação nos atributos width e height da tag <amp-img>:

$amp_content = preg_replace('/(<img[^>]+>(?:<\/img>)?)/i', '$1</amp-img>', $html_content_filtered);

$amp_content = str_replace('<img', '<amp-img " width="'. $tamanho[0] .'" height="' . $tamanho[1] . '" layout="responsive"', $amp_content);

Queria saber como eu poderia pegar o link das imagens e jogar automaticamente na variável tamanho?

Eu já testei colocando o link de uma imagem qualquer e funcionou:

$tamanho = getimagesize("http://localhost/apostolado/wp-content/uploads/2018/06/teste.png");

No caso eu quero pegar o valor src de toda imagem que tiver no post.

Já tentei pegar a variável $allowed_html e colocar direto no getimagesize, assim:

$tamanho = getimagesize ($allowed_html['img']['src']);

preciso de uma solução para isso.

Habilidades desejadas:

PHP Wordpress

Atividades do cliente nesse projeto:

Última visualização: 01/06/2020 às 20:53

Última interação: 19/05/2020 às 04:01

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Outra - Web, Mobile & Software
Orçamento: Aberto
Nível de experiência: Intermediário
Visibilidade: Público
Propostas: 5
Propostas excluídas: 4
Interessados: 8

Cliente

Freelancer vencedor

Propostas (1)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Desenvolvedor full stack para gerador automático de websites com IA - ? ANÚNCIO PROFISSIONAL – Desenvolvedor Full Stack para Criar Gerador Automático de Websites com IA + Tutoriais Udemy Representando a Marca Xcloud ? Descrição do p...

Desenvolvimento de aplicativo de inteligência artificial - Busco desenvolvedor(a) de software experiente para criar o MVP de um aplicativo de inteligência artificial voltado à psicoeducação e regulação emocional, in...

Desenvolvimento de sistema para Programa Assistencial de Saúde - Estamos buscando um desenvolvedor para criar e otimizar um sistema de gestão de dados central para nosso Programa Assistencial de Saúde e Bem Estar, Slim Saúde. Atualmente, tem...

Criação de aplicativo para RPG - Estou procurando um desenvolvedor para criar um aplicativo funcional para Android e iOS chamado Black Dawn, que servirá como sistema interativo do meu RPG de Naruto, realizado pelo WhatsApp....

Criar VPN para roteador TP-Link ER605 - Preciso criar uma VPN para o roteador TP-Link ER605, a fim de acessar máquinas no escritório e impressoras. Hoje já está conectado, já fiz a DMZ e configurei at&e...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.