Там исходный xml такой ломанный. Грузится плагином гдеслоншоп.
Так как выгрузки большие, состряпал нечто похожее на скрипт по разбивке большого .xml.zip на несколько маленьких и хочу в этом же скрипте замутить исправление корявого дескрипшина.
<?phpif(!empty($_POST['name'])){ $name = trim(strip_tags($_POST['name'])); } $filen=file_get_contents("$name"); if (!function_exists("file_put_contents")){function file_put_contents($filename, $data, $file_append = false) { $fp = fopen($filename, (!$file_append ? 'w+' : 'a+')); if(!$fp) { trigger_error('file_put_contents cannot write in file.', E_USER_ERROR); return; } $result = fputs($fp, $data); fclose($fp); return $result; }} file_put_contents("1.zip", $filen); $zip = new ZipArchive;if ($zip->open('1.zip') === TRUE) {// путь к каталогу, в который будут помещены файлы$zip->extractTo('zip');if ($zip->open('1.zip') == TRUE) { for ($i = 0; $i < $zip->numFiles; $i++) { $filename = $zip->getNameIndex($i); echo $filename.'<br>'; }}echo 'yes';$zip->close();} else {echo 'no';}$x_limit = 230000; // нужный размер в байтах (символ ASCII - 1 байт)set_time_limit(90); $t_start = microtime(1);$path_ulr2='XXXX';$path_ulr='XXXXX'; $str_xml=file_get_contents($path_ulr.$filename);if (preg_match('|<\?xml[^>]*?\?>(.*?)<offer[^>]*?>|sei', $str_xml, $arr)) $hider = $arr[1];else $hider='';$x_res=NULL;$x_r=array('/<\?xml[^>]*?\?>/i','/<offers>/i','/<\/offers>/i');$str_xml=preg_replace($x_r,'',stristr($str_xml,'<url>')); // удаляем header и footer$im_or="original_picture"; $im_pi="picture";$str_xml=str_replace($im_or,$im_pi,stristr($str_xml,'<url>'));$str_xml=str_replace('<thumbnail>','<!--<thumbnail>',stristr($str_xml,'<url>'));$str_xml=str_replace('</thumbnail>','</thumbnail>-->',stristr($str_xml,'<url>'));//удаление descriptionif(isset($_POST['terms']) && $_POST['terms'] == 1) {$str_xml=preg_replace('/<description>(.*?)<\/description>/is','<description><![CDATA[]]></description>',stristr($str_xml,'<url>'));}preg_match_all("/<offer[^>]*?>.{1,10000}<\/offer>/is", $str_xml, $x_res);echo 'max used memory '.number_format((memory_get_usage()-$m_start)/(1024*1024))." Mb<br />\n"; $str_xml=NULL;$x_join = $x_limit/10000; // укрупнение массиваforeach ($x_res[0] as $value): $i++; $value1 .= $value;if(!($i%$x_join)) { $x_arr[]=$value1; unset($value1); }endforeach; $x_arr[]=$value1;$x_res=NULL;// header и footer$x_s='<?xml version="1.0" encoding="UTF-8"?>'.$hider.'<offers>';$x_e='</offers></shop></yml_catalog>';// форматирование и запись$i=1; foreach ($x_arr as $value): $value = $x_s."\n".$value."\n".$x_e;$z=$i; file_put_contents('gdeslon_'.$i++.'.xml',$value); $zip = new ZipArchive;if ($zip->open('gdeslon_'. $z .'.zip', ZipArchive::CREATE) === true){$zip->addFile('gdeslon_'. $z .'.xml');echo $path_ulr2.'gdeslon_'. $z .'.zip<br>'; $zip->close();}else{ echo 'no';} endforeach;if($value) echo 'file split - ok - used time - '.round((microtime(1)-$t_start),4).' sec';?>
Спасибо исправил, а по вопросу то что?
Настроил бы бот на задержку 15с и все бы были довольны)
У меня в ЯВ с некоторого времени куча ссылок появилось с платников одностраничников, по моему та же шняга.
У меня домен под АГС - сам дурак купил такой. Если сайт перелить на другой ,то могут у меня возникнуть проблемы с аккаунтом adSens ( указывал как основной при регистрации)?