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

Integrar Typebot com API do painel VPN e Mercado Pago - OBS: Tenho todas as APIs e documentação para facilitar o projeto OBS2: Eu mesmo crio e organizo o fluxo de mensagens; eu só preciso que vocês façam a integra&cced...

Projeto de redes de computadores para unidade educacional - Estamos buscando um profissional de redes de computadores para elaborar um projeto técnico de rede Wi-Fi e cabeada para uma unidade educacional na zona rural. A internet não funciona ...

Automação de vendas no WhatsApp - n8n - Procuro especialista em n8n para automação de vendas no WhatsApp Estou buscando um especialista em n8n, com experiência real em automação comercial, para montar u...

Desenvolvimento de bot de arbitragem spot x futuros (criptomoedas) automatizado - Descrição do Projeto: Estou buscando um desenvolvedor experiente para criar um software/bot de arbitragem entre mercado spot e futuros de criptomoedas, com execução auto...

Automação de processos com n8n para triagem de leads - No Andrade Alves Advogados, escritório especializado em Direito Previdenciário, buscamos um Freelancer/PJ Pleno para um projeto ágil de 2-4 semanas: desenvolver automaç&...

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.