Quando recupero os dados RSS, para inserir no banco de dados esta salvando corretamento porém no mysql esta com (ponto) . na frente de todos os registros via RSS.
Fala galera.
Espero que todos estejam bem.
Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
<item>
<title>
d sa dsad sad sadasdas
</title>
<link>
dsadas dsa sad asd as dsada
</link>
<pubDate>sadasdasdsa as</pubDate> <dc:creator>
d sad sad sa ad as das </dc:creator>
</item>
Obs: o banco de dados contem mais de 10 mil registros
<?php
// Data e hora atual
$datetime = new DateTime(date('Y-m-d H:i:s'));
// A linha abaixo me retornará uma data no seguinte formato: 2017-11-22T00:06:23-02:00
$date = $datetime->format(DateTime::ATOM); // ISO8601
// Gera o arquivo XML do sitemap
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>'.ConfigPainel('site_url').'</loc>
<lastmod>'.$date.'</lastmod>
<changefreq>weekly</changefreq>
<priority>1.00</priority>
</url>';
$Query = DBRead('cidades','*',"WHERE status ='1' ORDER BY nome ASC");
if (is_array($Query)) { foreach ($Query as $modcid) {
$xml .='
<url>
<loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc>
<lastmod>'.$date.'</lastmod>
<changefreq>weekly</changefreq>
<priority>1.00</priority>
</url>';
//$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC");
$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC LIMIT 1200");
if (is_array($QueryR)) { foreach ($QueryR as $v) {
$Queryc = DBRead('cidades', '*',"WHERE id='{$v['cidade']}' ORDER BY nome ASC")[0];
if(empty($v['slug'])) {
}else{
$urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].'/list/'.$v['slug'].'/';
$xml .='
<!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' -->
<url>
<loc>'.$urlseo.'</loc>
<lastmod>'.$date.'</lastmod>
<changefreq>weekly</changefreq>
<priority>0.85</priority>
</url>
<!-- FIM DA EMPRESA '.TRIM($v['titulo']).' -->
';
}
}}
}}
$xml .= '
</urlset>';
// Abre o arquivo ou tenta cria-lo se ele não exixtir
$arquivo = fopen('../sitemap.xml', 'w');
if (fwrite($arquivo, $xml)) {
Redireciona('./index.php?sucesso');
} else {
Redireciona('?erro');
}
fclose($arquivo);
// Compactar arquivo sitemap para GZIP
$data = implode("", file("sitemap.xml"));
$gzdata = gzencode($data, 9);
$fp = fopen("sitemap.xml.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
// Envia para o Google o novo sitemap gerado
$urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".ConfigPainel('site_url')."";
// Arquivos a serem enviados
$Files = ['sitemap.xml', 'sitemap.xml.gz'];
// Envia os dois arquivos sitemap gerados para a URL do Google
foreach ($Files as $file) {
$url = $urlSitemap . $file;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
}
?>
Caso ouve outra forma que eu possa gerar este sitemap com php fico grato...
Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
Quando clico em enviar ele me enviar para um arquivo .php (assets/vendor/simple-forms/sendmail.php)
Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.