Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Criando arquivo .xml com php e usar str_replace

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Criando arquivo .xml com php e usar str_replace

    Fala ai galerinha...bom dia todos!

    Preciso criar uma pagina PHP que gera um arquivo com extensão .xml pegando dados de um outro arquivo xml que não tem a extensão .xml
    Só que alem de pegar essas informações eu preciso usar um str_replace para substituir uma parte das informações, para ser mais preciso das urls...preciso tirar alguns parâmetros e deixar a url limpa.

    Eu consegui gerar dois códigos diferentes seguindo alguns tutos...ambos geram o arquivo xml, mas um eu consegui usar o str_replace nas urls só que não gerou o loop ou repetição.
    O outro gerou o loop das informações mas não consegui usar o str_replace..rs

    Será que alguém poderia me dar um help??
    Segue ambos aos códigos...

    Esse gerou o loop mas não funcionou o replace:
    Código PHP:
    <?php
    function filtra_info($dados,$tag){
            
    $tam_tag=strlen("<$tag>");
            
    $dados=strstr($dados"<$tag>");
            
    $fim_data=strpos($dados,"</$tag>");     
            
    $dados=substr($dados,$tam_tag,$fim_data-$tam_tag);
            return 
    $dados;
    }
    $c='';
    $fp2 fsockopen ("www.ezip.com.br"80 ,$errno ,$errstr,  30);

    if (
    $fp2) {
            
    fputs ($fp2"
    GET /xml.asp?tipo=1 HTTP/1.1
    Host: www.ezip.com.br
    Connection: Close

    "
    );
    } else {
       return 
    "Erro de conexão";
       die();
    }
    while (!
    feof($fp2)) $c.= fgets ($fp2,1024);
    fclose ($fp2);

    $item=explode('</produto>',$c);
    $c='';
    $tr=0;
    foreach(
    $item as $it){
            if (!empty(
    $it)){
                    if (
    $tr==0
                    
    $c.="<loc>" .filtra_info($it,'link_produto')."</loc>";
            }
    }

    $saudavel = array("utm_source=buscape&utm_medium=xml_anuncio&utm_campaign=Buscape&IdSite=48&""&parceiro=buscape&utm_source=produtos_buscape.asp&utm_medium=xml_anuncio&utm_campaign=Buscape");
    $saboroso   = array("""");

    $novafrase str_replace($saudavel$saboroso$c);

    //Primeira Etapa
    $arquivo="sitemap.xml";
    $fp fopen($arquivo"w");
    //Segunda Etapa
    $header='<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
                    xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">'
    ;
    fwrite($fp$header);

    //Terceira Etapa
    $variavel="
    <url> " 
    $novafrase "
    </url>
    "
    ;
    fwrite($fp$variavel);
    //Quarta Etapa
    fwrite($fp"</urlset>");

    //Quinta Etapa
    fclose($fp);

    //Seta Etapa
    echo "<a href=\"sitemap.xml\">Baixar documento</a>";
    ?>

    E esse funcionou o replace mas não o loop:
    Código PHP:
    <?php
    //Primeira Etapa
    $arquivo="sitemap.xml";
    $fp fopen($arquivo"w");
    //Segunda Etapa
    $header='<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
            xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">'
    ;
    fwrite($fp$header);

    //Segunda Etapa Dois
    $xml simplexml_load_file("http://www.ezip.com.br/XML.asp?tipo=1");
        foreach(
    $xml->xpath('//produto') as $produto){
            
    $registro simplexml_load_string($produto->asXML());
            
    $busca $registro->xpath("//produto");
            if(
    $busca){
                
            
    $url  "<url>" $produto->link_produto "</url>";
            
    $urltext = array("utm_source=buscape&utm_medium=xml_anuncio&utm_campaign=Buscape&IdSite=48&""&parceiro=buscape&utm_source=produtos_buscape.asp&utm_medium=xml_anuncio&utm_campaign=Buscape");
            
    $url_altera   = array("""");

            
    $novaurl str_replace($urltext$url_altera$url);

            
            
    $variavel $novaurl;
                
                
                }
            }

    fwrite($fp$variavel);
    //Quarta Etapa
    fwrite($fp"</urlset>");

    //Quinta Etapa
    fclose($fp);

    //Seta Etapa
    echo "<a href=\"sitemap.xml\">Baixar documento</a>";

    ?>
    Espero que alguém consiga me ajudar..hehehe
    Abração galerinha.
X
Working...
X