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

Arquitetura de soluções com IA - Buscamos um profissional com experiência em definir e evoluir a arquitetura da solução; estruturar integrações entre sistemas, APIs e serviços; avaliar tecn...

Cryptocurrency payment integration - We are looking for an experienced Crypto Payment Integration Developer to integrate cryptocurrency payments into our platform. Responsibilities - Integrate cryptocurrency payment gateways and APIs...

Teste de segurança em aplicativo web - Preciso de um profissional para testar um app. A estrutura hoje está no Git (privado), com Supabase e Vercel. Preciso que façam um diagnóstico e verifiquem as correç&o...

Correção de erro no Make.com - Integração com API do WhatsApp - Tenho um fluxo quase pronto no Make.com: recebe mensagem do WhatsApp - IA responde - só falta enviar a resposta de volta pela Wappfly. O bloco HTTP diz que a URL está vazia, mesmo pre...

Instalação e configuração do The White Rabbit - Procuro um profissional sênior e experiente que já tenha implementado e gerenciado projetos com TheWhiteRabbit (TWR). O trabalho inclui configuração completa. Instalar 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.