151 lines
5.9 KiB
PHP
151 lines
5.9 KiB
PHP
|
<?php
|
|||
|
ini_set('display_errors', 0);
|
|||
|
|
|||
|
|
|||
|
require_once('db.php');
|
|||
|
DB::$dsn = 'mysql:dbname=yurec_st;host=mysql.yurec.myjino.ru';
|
|||
|
DB::$user = '038517005_st';
|
|||
|
DB::$pass = 'YurecNT1984!##';
|
|||
|
|
|||
|
|
|||
|
|
|||
|
function telclean ($text) { // ФУНКЦИЯ очистки кода
|
|||
|
|
|||
|
$old1 = array("(", ')', "-", " ");
|
|||
|
$new1 = array("", '', "", "");
|
|||
|
$text = str_replace($old1, $new1, $text);
|
|||
|
return $text; }
|
|||
|
|
|||
|
|
|||
|
function html_to_obj($html)
|
|||
|
{
|
|||
|
$dom = new DOMDocument();
|
|||
|
// $dom->loadHTML($html);
|
|||
|
@$dom->loadHTML(mb_convert_encoding(@$html, 'HTML-ENTITIES', 'UTF-8'));
|
|||
|
return element_to_obj($dom->documentElement);
|
|||
|
}
|
|||
|
|
|||
|
function element_to_obj($element)
|
|||
|
{
|
|||
|
@$obj = array("tag" => @$element->tagName);
|
|||
|
foreach (@$element->attributes as $attribute) {
|
|||
|
$obj[$attribute->name] = $attribute->value;
|
|||
|
}
|
|||
|
foreach ($element->childNodes as $subElement) {
|
|||
|
if ($subElement->nodeType == XML_TEXT_NODE) {
|
|||
|
$obj["html"] = $subElement->wholeText;
|
|||
|
} else {
|
|||
|
$obj["children"][] = element_to_obj($subElement);
|
|||
|
}
|
|||
|
}
|
|||
|
return $obj;
|
|||
|
}
|
|||
|
// https://www.bober-stroy.ru//stroymaterialy/izolyatsionnye_materialy_1/paklya_dzhut_mezhventsovyy_uteplitel_1/
|
|||
|
|
|||
|
/* ищет str в txt если находит, возвращает единичку */
|
|||
|
function findtxt($txt, $str)
|
|||
|
{
|
|||
|
$pos1 = stripos($txt, $str);
|
|||
|
if ($pos1 === false)
|
|||
|
return 0;
|
|||
|
else
|
|||
|
return 1;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
function insert_cagegory($html)
|
|||
|
{
|
|||
|
//print_r($html);
|
|||
|
//print_r($html['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][5]['children'][0]['children'][0]['children']);
|
|||
|
$ok=0;
|
|||
|
$cats = $html['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['children'][0]['children'][0]['children'];
|
|||
|
|
|||
|
|
|||
|
$check=trim($html['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['children'][0]['children'][0]['children'][1]['html']);
|
|||
|
|
|||
|
print_r($check);
|
|||
|
|
|||
|
if ($check!='Предоставляемые услуги: '){
|
|||
|
|
|||
|
$cats = $html['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][6]['children'][0]['children'][0]['children'];
|
|||
|
|
|||
|
unset( $check);
|
|||
|
|
|||
|
}else{$ok=1;}
|
|||
|
|
|||
|
$check=trim($html['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][6]['children'][0]['children'][0]['children'][1]['html']);
|
|||
|
print_r($check);
|
|||
|
if ($check!='Предоставляемые услуги: ' AND $ok!=1){
|
|||
|
echo 'не то';
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
print_r($cats);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
for ($i = 0; $i < count($cats); $i++) {
|
|||
|
if ($cats[$i]['href']) {
|
|||
|
$txt=$cats[$i]['html'];
|
|||
|
echo $txt;
|
|||
|
if ($txt){
|
|||
|
|
|||
|
$id=DB::getValue("SELECT `id` FROM `vid_deyat` WHERE `txt`=? LIMIT 1", $txt);
|
|||
|
if (!$id){
|
|||
|
DB::add("INSERT INTO `vid_deyat` (`txt`) VALUES (?)", $txt);
|
|||
|
$cat[$i]=$txt;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
return $cat;
|
|||
|
}
|
|||
|
|
|||
|
function org_data($massiv, $cats){
|
|||
|
|
|||
|
$m['txt']=$massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['html'];
|
|||
|
|
|||
|
|
|||
|
// if (!$m['txt'])$m['txt']=$massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['html'];
|
|||
|
|
|||
|
//print_r($m['txt']=$massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
$m['tel']=telclean($massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][1]['children'][0]['children'][0]['children'][0]['children'][1]['html']);
|
|||
|
$adres=explode(", ", $massiv['children'][1]['children'][8]['children'][3]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['html']);
|
|||
|
if (!$adres[0])$adres=explode(", ", $massiv['children'][1]['children'][8]['children'][3]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][2]['html']);
|
|||
|
|
|||
|
$m['cityname']=$adres[0];
|
|||
|
$m['streetname']=$adres[1];
|
|||
|
$m['dom']=$adres[2];
|
|||
|
//print_r($massiv['children'][1]['children'][8]['children'][3]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['html']);
|
|||
|
|
|||
|
if ($massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['children'][0]['children'][0]['children'][0]['children'][1]['html']){
|
|||
|
$m['site']=$massiv['children'][1]['children'][9]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][0]['children'][3]['children'][0]['children'][0]['children'][0]['href'];
|
|||
|
}
|
|||
|
$id=DB::getValue("SELECT `id` FROM `org` WHERE `txt`=? LIMIT 1", $m['txt']);
|
|||
|
//if (!$id)$id=DB::add("")
|
|||
|
print_r($m);
|
|||
|
|
|||
|
}
|
|||
|
$htmls = DB::getAll("SELECT `html`, `id` FROM `st` WHERE `status`=2 AND `id`=175 LIMIT 10");
|
|||
|
|
|||
|
for ($i = 0; $i < count($htmls); $i++) {
|
|||
|
$html=html_to_obj($htmls[$i]['html']);
|
|||
|
$cats=insert_cagegory($html);
|
|||
|
|
|||
|
org_data($html, $cats);
|
|||
|
|
|||
|
|
|||
|
unset($html);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
?>
|