function data_format($data, $func = null) { $functions = is_null($func) ? array("htmlspecialchars", "addslashes") : (is_array($func) ? $func : preg_split("/\\s*,\\s*/", $func)); foreach ($functions as $_func) { if (is_string($data)) { $_func($data); } else { if (is_array($data)) { foreach ($data as $k => $d) { $data[$k] = is_array($d) ? data_format($d, $functions) : $_func($d); } } } } return $data; }
echo $pol_id . "\t"; } else { echo "TROVATO PIU' DI UN POLITICO \t"; } if ($sen->next_sibling()) { if ($sen->next_sibling()->tag == "span") { $data_inizio = explode('(dal', $sen->next_sibling()->plaintext); } if (count($data_inizio) == 2) { $data_inizio = explode(')', $data_inizio[1]); $data_inizio = str_replace("l'", "", $data_inizio[0]); $data_fine = explode(" al ", trim($data_inizio)); if (count($data_fine) == 2) { echo data_format(trim($data_fine[0])) . "\t" . data_format(trim($data_fine[1])); } else { echo data_format(trim($data_inizio)) . "\t" . datafine($argv[1]); } } else { $data_fine = explode('(fino al', $sen->next_sibling()->plaintext); if (count($data_fine) == 2) { $data_fine = explode(')', $data_fine[1]); $data_fine = str_replace("l'", "", $data_fine[0]); echo datainizio($argv[1]) . "\t" . data_format(trim($data_fine)); } } } else { echo datainizio($argv[1]) . "\t" . datafine($argv[1]); } echo "\n"; } }
} elseif ($k == 1) { echo $pol_id . "\t"; } else { echo "TROVATO PIU' DI UN POLITICO \t"; } $codice = explode('asp?Deputato=', str_replace("&", "&", $dep->href)); $url = "http://legislature.camera.it/deputati/legislatureprecedenti/Leg" . $leg . "/datpersonali.asp?vis=0&deputato=" . ltrim($codice[1], "0 1") . "&gove="; $html1 = file_get_contents($url); $data_inizio = explode('>Proclamat', $html1); $data_inizio = explode('<br>', trim($data_inizio[1])); $data_inizio = str_replace(array("il ", "l'", "</span>", "?"), "", trim($data_inizio[0])); echo "*"; echo data_format(ltrim(trim($data_inizio), 'o a')); echo "*"; echo "\t"; $data_fine = explode('dal mandato parlamentare', $html1); if (count($data_fine) == 2) { $data_fine = explode('<br>', trim($data_fine[1])); $data_fine = strip_tags($data_fine[0]); $data_fine = str_replace(array("il ", "l'"), "", trim($data_fine)); echo "*"; echo data_format(trim($data_fine)); echo "*"; echo "\t"; } else { echo datafine($leg) . "\t"; } echo "\n"; } } }
function data_format(&$data, $func = null) { $functions = is_null($func) ? C("FILTER_FUNCTION") : $func; if (!is_array($functions)) { $functions = preg_split("/\\s*,\\s*/", $functions); } foreach ($functions as $_func) { if (is_string($data)) { $data = $_func($data); } else { if (is_array($data)) { foreach ($data as $k => $d) { $data[$k] = is_array($d) ? data_format($d, $functions) : $_func($d); } } } } return $data; }
/** * SQL中的REPLACE方法,如果存在与插入记录相同的主键或unique字段进行更新操作 * @param $opt * @param string $type * @return array|bool */ public function insert($opt, $type = "insert") { $opt = $this->formatArgs($opt); if ($opt === false) { error(L("mysql_replace_error1"), false); //没有任何数据要插入,系统会将$_POST值自动插入,也可以手动将数据传入或者用ORM方式,请查看HD手册学习 } if (!is_array(current($opt))) { $opt = array($opt); } $insert_id = array(); //插入的ID $pri = $this->opt['pri']; //主键,在使用table()函数时价值存在 //对数据应用函数 if ($this->opt['dataFormat']['open']) { $opt = data_format($opt, $this->opt['dataFormat']['functions']); } foreach ($opt as $k => $data) { //处理后数组的KEY均为数字 if (is_string($k)) { continue; } $value = $this->formatField($data); if (empty($value)) { error(L("mysql_replace_error2")); //插入数据错误,原因可能为1:插入内容为空 2:字段名非法,看一下HD框架手册吧! } $sql = strtoupper($type) . " INTO " . $this->opt['table'] . "(" . implode(',', $value['fields']) . ")" . "VALUES (" . implode(',', $value['values']) . ")"; $insert_id[] = $this->exe($sql) ? $this->getInsertId() : false; //执行后的结果 } //没有执行任何插入动作 if (empty($insert_id)) { return false; } //没有主键 if (!$pri) { return $this->getAffectedRows(); } return count($insert_id) > 1 ? $insert_id : $insert_id[0]; }