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

Automação de emissão de DAE/guia de ICMS por UF (Python requests) - Automatizar a emissão de DAE/DAEMS (ou equivalente estadual) de ICMS, baixando o PDF final utilizando a inscrição estadual da empresa. Já tenho um módulo pronto p...

API para corretora de opções binárias - Preciso criar uma API para a corretora SAFIRION.COM (igual à IQ OPTION / POLARIUM / AVALON) que faça entradas automáticas de operações. Apenas API para executar ...

Teste de usabilidade no Telegram - Preciso que a pessoa avalie a usabilidade do bot no Telegram, indicando se está adequado para uso e sugerindo mudanças, caso necessário. O objetivo é identificar proble...

Desenvolvimento de robôs para opções binárias - Objetivo: Desenvolvimento de um software de alta performance para execução de operações em Opções Binárias baseado em discrepância de pre&cced...

Plataforma giratória para captura de imagens de pessoas - Desenvolver plataforma giratória para coleta de fotos de pessoas em pé. Deve: • Confirmar cada captura; • Comandar o giro a partir de um mini PC; • Acionar a ilumina&c...

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.