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

Bot Telegram com automação de pagamento via Pix e download de vídeos Shopee - Fala pessoal, preciso de um desenvolvedor para criar um bot para o Telegram. Função: • Baixar vídeos da Shopee sem marca d'água. Funcionamento: • O usu&...

Integração de vozes CapCut em plataforma text-to-speech (Python) - Preciso de um desenvolvedor Python experiente para integrar vozes novas na minha plataforma de conversão de texto em áudio. O que precisa ser feito: • Integrar as vozes novas v...

Script para alterar IP exibido por ifconfig e ip a - Preciso de um script que, ao ser executado como ./IP.sh 1.1.1.1, altere o IP exibido pelos comandos ifconfig e ip a, sem quebrar o funcionamento desses comandos. Ou seja, se eu executar ifconfig ou...

Ajustes em site Flask (Python) - Procuro um desenvolvedor com experiência em Flask (Python) para realizar correções pontuais em um site de web scraping em tempo real. A aplicação já est&aac...

Desenvolver robô para o jogo Bac Bo - Preciso de alguém para desenvolver um programa (robô) para o jogo Bac Bo. Já tenho as estratégias definidas; preciso apenas da implementação do robô, ...

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.