Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spingamer

cURL - Comando para Editar HTML do site

Recommended Posts

Eai galera!

Como eu poderia editar um código HTML automaticamente utilizando o php?

Eu gostaria de poder remover o favicon que está sendo gerado automaticamente no template.

Em fim, para podermos remover o favicon automatico, teríamos que ver primeiramente o código php que eu estou utilizando para fazer uma cópia do site para a minha hospedagem.

Códigos:

Código 1#

<?php
    
    $ch = curl_init();
?>

<?php
// informar URL e outras funções ao CURL
curl_setopt($ch, CURLOPT_URL, "http://www.johnmoviesstudio.wix.com/joaopauloramos");
?>

<?php
// Acessar a URL e enviá-la ao browser
curl_exec($ch);
?>

<?php
// liberar o sistema
curl_close($ch);
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?
 

O código do icone gerado automaticamente é esse:

Código 2#

<link rel="shortcut icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>
<link rel="apple-touch-icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>

Bem, o primeiro código, eu utilizo para ser a index.php do meu Host, sendo assim, ele atualiza automaticamente meu site Wix para o meu domínio. Mas o Favicon automatico do wix vai junto! Eu gostaria de poder editar a linha de programação que fica o favicon do Wix, ou talvez simplesmente Remover o favicon do wix. Seria possível uma mãozinha galera? O código 2 é o código que fica lá no template automaticamente com a favicon.

Obrigado.

Informações úteis:

Favicon que eu desejo colocar:

http://puu.sh/ooTW2/4be444bd27.png

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigo, obrigado por responder!

Eu teria entao que adicionar o código Mais ou menos assim?:

<?php
    
    $ch = curl_init();
?>

<?php
// informar URL e outras funções ao CURL
curl_setopt($ch, CURLOPT_URL, "johnmoviesstudio.wix.com/joaopauloramos");
?>

<?php
// Acessar a URL e enviá-la ao browser
curl_exec($ch);
?>

$dom->getElementsByTagName("favicon.ico");

<?php
// liberar o sistema
curl_close($ch);
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?

Eu estou usando o dominio http://joaopaulo.pe.hu/ caso queira entrar pra ver como está fique a vontade [;

Eu tentei mas não está dando. :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu teria entao que adicionar o código Mais ou menos assim?:

 

Não, o que você precisa fazer é estudar a fundo sobre DOMDocument

 

Entre no Google e pesquise escrevendo, por exemplo: "Get elements with PHP DOMDocument", sem aspas, vai encontrar muitos artigos.

 

Escrevi esse termo acima no Google e vi este artigo que pode lhe ajudar

http://www.binarytides.com/php-tutorial-parsing-html-with-domdocument/

 

Está em inglês, mas mesmo se não ler nesse idioma, poderá entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem muito tempo desde que trabalhei com DOMDocument, mas vou tentar mostrar um exemplo

<?php

$html = '<!doctype html>
<html>
    <head>
        <link rel="shortcut icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>
        <link rel="apple-touch-icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>
    </head>

    <body></body>
</html>';

$dom = new DOMDocument();

// Carrega o conteúdo HTML
$dom->loadHTML($html);

$dom->preserveWhiteSpace = false;

$xpath = new DOMXPath($dom);

$links = $xpath->query("//link[@type='image/x-icon']");

if ($links->length) {
    foreach ($links as $link) {
        // Aqui removemos
        $link->parentNode->removeChild($link);
    }
}

// Aqui temos o HTML já sem as tags link
$html = $dom->saveHTML();

echo $html;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo eu coloquei, mas deu erro... ai ali aonde termina com " } "

eu coloquei coloquei ?> pra fechar o código igual os outros elementos...

Porém com essa minha modificação no finalzinho, o site abriu, mas acho que o código nao funfou...

Acho que foi alguma coisa que eu fiz ou não fiz hahaha

Oq poderia ser?

Obrigado mano Ta salvando minha vida. hahah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta outra abordagem.

 

Utilize a função:

http://php.net/manual/pt_BR/function.file-get-contents.php

+

Simplehtmldom

 

http://simplehtmldom.sourceforge.net/

 

Tem a aba 'How to modify HTML elements?'

// Create DOM from string
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=hello]', 0)->innertext = 'foo';

echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>

Um exemplo passo a passo talvez ajude:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigo! Obrigado por me ajudar.

Poderia me adicionar no Facebook? Tenho medo de não conseguir mais falar com vocês! rsrs

Facebook.

Apenas uma dúvida: ali em

$html->find('div', 1)->class = 'bar';

E em:

$html->find('div[id=hello]', 0)->innertext = 'foo';
 

Em 'div' eu deveria colocar 'link' ?

Outra dúvida, eu percebi que no seu código foram feitas apenas uma alteração, pois o texto do id 'hello' (Hello) passou a ser 'foo'...

Como eu faria se precisasse alterar duas ids?

As Id's que eu quero alterar são respectivamente

Antes da mudança:

<div id="shortcut icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>

Após a mudança:

<link rel="shortcut icon" href="http://puu.sh/ooTW2/4be444bd27.png" type="image/x-icon"/>

E por ultimo essa:

Antes da mudança

<div id="apple-touch-icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>

Que ficaria:

<link rel="apple-touch-icon" href="http://puu.sh/ooTW2/4be444bd27.png" type="image/x-icon"/>

Como eu faria?

Obrigado broo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara abre a documentação e lé.
http://simplehtmldom.sourceforge.net/manual.htm

'How to access the HTML element's attributes?'

// Get a attribute ( If the attribute is non-value attribute (eg. checked, selected...), it will returns true or false)
$value = $e->href;

// Set a attribute(If the attribute is non-value attribute (eg. checked, selected...), set it's value as true or false)
$e->href = 'my link';

// Remove a attribute, set it's value as null! 
$e->href = null;

// Determine whether a attribute exist? 
if(isset($e->href)) 
        echo 'href exist!';

 

 

percebi que no seu código foram feitas

Meu código não haha só peguei o exemplo da documentação e colei aqui.

 

 

Um exemplo pra ti...

'pagina.html' tem o seguinte conteúdo:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<link id="shortcut icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>
	<link id="apple-touch-icon" href="http://www.wix.com/favicon.ico" type="image/x-icon"/>
</head>
<body>
	
</body>
</html>

'teste.php':

<?php

require_once 'simple_html_dom.php';

$html = file_get_contents('pagina.html');

$html = str_get_html($html);

$html->find('link', 0)->href  = 'test';
$html->find('link', 1)->href  = '123';

echo $html;

Repare que no método find tem 2 parâmetros ('link' + 0).

 

Ou seja o primeiro eu passo o elemento do DOM e no segundo qual a ocorrência, No exemplo acima tem 2x o elemento (link) logo para acessar a primeira se passa o 0 e para acessar a segunda se passa o 1 (isto é uma convenção em programação)

 

Mais sobre DOM:

http://tableless.com.br/tenha-o-dom/

 

 

Agora sim... MEU exemplo ...

 

Resultado/Saída do teste.php no browser:

<!DOCTYPE HTML> <html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<link id="shortcut icon" href="test" type="image/x-icon"/>
	<link id="apple-touch-icon" href="123" type="image/x-icon"/>
</head>
<body>
</body>
</html>

Sei lá achei meio ~preguiça~ da sua parte tentar, fazer simples testes.

Ficaria melhor na proxima mostrar quais foram os testes.

Sobre add no Facebook, está na minha Bio, pode adicionar sem problemas, porem só respondo duvida técnica pelo fórum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então amigo,Obrigado por me ajudar!
É o seguinte...
eu agora por último criei dentro da pasta 'public' do meu site o seguinte arquivo:
7c1c8babe6.JPG
Pagina.php
Com o conteúdo:

<?php
    
    $ch = curl_init();
?>

<?php
// informar URL e outras funções ao CURL
curl_setopt($ch, CURLOPT_URL, "johnmoviesstudio.wix.com/joaopauloramos");
?>

<?php
// Acessar a URL e enviá-la ao browser
curl_exec($ch);
?>

<?php
// liberar o sistema
curl_close($ch);
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?

E um arquivo :
teste.php
Com o conteúdo:

<?php

require_once 'simple_html_dom.php';

$html = file_get_contents('pagina.php');

$html = str_get_html($html);

$html->find('link', 0)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';
$html->find('link', 1)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';

echo $html; 

Mas da o seguinte erro:

98dc121d55.JPG

eu não entendo, pois estou fazendo tudo certinho, o que eu estou fazendo de errado agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta ler o erro, você está tentando dar require no arquivo simple_html_dom.php, só que ele não existe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Basta ler o erro, você está tentando dar require no arquivo simple_html_dom.php, só que ele não existe...

Eu cometi um pequeno erro, agora sim está tudo ok

Porém as linhas não foram substituidas, não sei porque...

Tipo, eu mudei poucas coisas,

aonde tava "pagina.php" eu mudei pra "index2.php"

Ai eu esqueci de atualizar o código....

Porém agora que eu atualizei, ele apenas entra no site, mas o favicon não é substituido...

Oq eu faço? Já tentei de tudo, e já li inumeros foruns e blogs sobre o assunto, mas acho que só falando diretamente com quem entende eu poderia resolver.

ó código do arquivo teste.php está assim:

<?php

require_once 'index2.php';

$html = file_get_contents('index2.php');

$html = str_get_html($html);

$html->find('link', 0)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';
$html->find('link', 1)->href  = 'http://puu.sh/ooTW2/4be444bd27.png';

echo $html;
?> 

Obrigado por enquanto galera :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha duvida é....

Você está acessando o 'index2.php'? Pois não é ele que você deve acessar e sim o arquivo 'teste.php'

 

Ficando assim o fluxo:

 

- Você acessa a url teste.php

-A O php chama via file_get_contents o HTML a ser alterado

-Altera e apresenta a saída (echo $html)

 

 

Não sei se ficou claro pra ti mas a pagina que você precisa acessar/chamar via URL é a mesma do seu script.

 

Ps1: Cade o require_once do seu 'simple_html_dom.php' dentro do teste.php???

Ps2: Pra que esse require_once dentro do index2.php?

 

Reveja meu exemplo no #14

Ele está 100% funcional (desde que você baixe e coloque na mesma pasta o 'simple_html_dom.php')

Basicamente ele faz oq você pediu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu vou ter que criar outro arquivo simple_html_dom.php ?

 

eu não entendo!

eu fiz exatamente do modo que você descreveu, porém coloquei somente o meu código cURL que eu uso na pagina.php pra fazer os testes, porém da erro!

Eu FIZ EXATAMENTE do jeito que você colocou, mas eu preciso saber, eu preciso editar alguma coisa nas linhas dos códigos e dos arquivos que você me deu? Se sim, oque eu preciso modificar exatamente?

Por que eu nao entendo porque ta dando erros e mais erros...

Está exatamente assim:

pagina.php (o meu código pra imprimir a página)

teste.php (vou usar esse arquivo pra acessar o site e ver as mudanças, porém, ele da sempre erro)

supomos que eu tenha que criar o arquivo "simple_html_dom.php" ,ficaria exatamente assim:

 

91e7c27daf.PNG

 

Só pra esclarecer, a situação atual é, eu estou tentando descobrir o que que é o require_once 'simple_html_dom.php'; no arquivo teste.php

pois você pediu pra criar um arquivo dentro da pasta do site, mas o que eu vou modificar no arquivo?
Dúvidas:
Dentro do servidor terá os seguintes arquivos com o seguintes códigos, exatamente do jeito que estou escrevendo.
simple_html_dom.php
// Get a attribute ( If the attribute is non-value attribute (eg. checked, selected...), it will returns true or false)
$value = $e->href;

// Set a attribute(If the attribute is non-value attribute (eg. checked, selected...), set it's value as true or false)
$e->href = 'my link';

// Remove a attribute, set it's value as null! 
$e->href = null;

// Determine whether a attribute exist? 
if(isset($e->href)) 
        echo 'href exist!';

Dúvida: eu preciso modificar o que neste código? Exatamente aonde?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pagina.php

<?php
    
    $ch = curl_init();
?>

<?php
// informar URL e outras funções ao CURL
curl_setopt($ch, CURLOPT_URL, "johnmoviesstudio.wix.com/joaopauloramos");
?>

<?php
// Acessar a URL e enviá-la ao browser
curl_exec($ch);
?>

<?php
// liberar o sistema
curl_close($ch);
?>
<style type="text/css"> #WIX_ADS { display:none; } </style>?

Dúvida: Está tudo ok até aqui?

Bem, só pra explicar o que esse código que eu estou usando faz, os elementos 'http://www.wix.com/favicon.ico' que eu quero modificar será resultado desse código. ou seja, esse código vai imprimir a pagina e colocar no ar, na saida curl_close($ch);

Após essa saída vai sair o código html do site, É AÍ que eu tenho problemas, eu preciso remover as linhas bem quando ela sair!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Teste.php

<?php

require_once 'simple_html_dom.php';

$html = file_get_contents('pagina.php');

$html = str_get_html($html);

$html->find('link', 0)->href  = 'test';
$html->find('link', 1)->href  = '123';

echo $html;

Código exatamente assim, vou tentar mudar as linhas para 'test' e '123' mesmo só pra teste. Se der certo, eu mudo o favicon pro que eu realmente quero mudar.

 

Com todos esses códigos, e exatamente do jeito que está, quando eu acesso o arquivo teste.php

sai isso:

9e06d60d72.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ment0r
      Boa tarde pessoal, tudo bem?

      É possível remover o cabeçalho e rodapé da impressão de uma página html via php, css ou javascript? Já adianto que não gostaria de gerar pdf, mas sim saber se é possível remover ou não.
      Obrigado a todos.
       

    • Por Control Z
      Bom pessoal estou trabalhando em criar um site de fórum de games pela Wix/WordPress 
      e gostaria de uma ajuda com isso quem puder participar me manda mensagem
    • Por hlv
      Olá, estou tentando desenvolver um site no wix no qual tenho um banco de dados já preenchido com um código e um arquivo PDF associado. Minha dúvida é como direcionar o usuário ao PDF após ele digitar o código associado?
    • Por Fernando Mineiro
      Pessoal,
      Sou completamente novato.
      Eu me propus a tentar fazer um site para divulgar o trabalho de um amigo.
      (tb serei ajudado, pois estou desenvolvendo uma nova habilidades).
      Ele já tinha uns três sites (no wix) mas todos estavam com uns problemas (meio inacabados, desatualizados, com uns links quebrados). Acho que ele começava a fazer o site, tinha dificuldades, depois acabava começando um outro site do zero de novo. O cara é top na profissão dele (psicólogo), mas meio devagar com tecnologia.
      Eu fiz um outro site para ele (tb no wix) e agora estou tentando melhorar o posicionamento no Google (SEO).
      Vi que em algumas situações, o Google acaba apontando para links dos sites antigos.
      É possível fazer com que todos os links antigos (de planos gratuitos do wix) apontem para um único site (o novo)?
      Pelo que estou entendendo, esse excesso de sites com conteúdos relativamente parecidos pode ser penalizado pelo Google, pois ele entende que um é o site principal e omite os outros... esse meu entendimento está correto?
      Eu fiz também o cadastro no google search console, enviei o sitemap lá...
      Alguém tem mais alguma dica simples que possa melhorar o SEO?
      OBS: na verdade, eu fiz dois sites um no wordpress e outro no wix. (eu não sabia qual plataforma seria melhor, por isso, testei as duas) Por fim, achei o wix melhor. Mas se alguém me disser que o wordpress é melhor para SEO, eu uso o de lá.

      Obrigado
    • Por apenasbraga@gmail.com
      1 - Tenho um app de estoque de bebidas (um site com BD) hospedado no uol host.
      2 - Tenho um site no wix. 
       
      Redirecionei o domínio para acessar o site, mas agora nao consigo acessar o app de estoque.
      pois ele está no uol host. e o domínio está direcionando para o wix.   Como faço para acessar o app via url.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.