我使用simplehtmldom来获取一些网站数据
$data = array();
$html = file_get_html('http://www.example.com/'.$value, false, $context);
foreach($details as $value){
$dataele = array();
foreach($html->find('*[class=style11]') as $element){
$houseinfo = trim($element->plaintext, " \t\n\r\0\x0B\xC2\xA0");
echo $houseinfo;
echo '<br>';
array_push($dataele, $houseinfo);
}
}
但是当我将这些数据插入数据库时,我发现有一些
。
我尝试了不同的方法,但它无法真正删除
html标记。我试过的方法:
$houseinfo = trim($element->plaintext, " \t\n\r\0\x0B\xC2\xA0");
$dataele[1] = html_entity_decode($dataele[1]);
$dataele[1] = str_replace(" ", "_", $dataele[1]);
$houseinfo = filter_var($houseinfo, FILTER_SANITIZE_STRING);
$dataele[1] = preg_replace("/&#?[a-z0-9]+;/i", "", $dataele[1]);
答案 0 :(得分:0)
$string = str_replace(' ', '-', htmlspecialchars_decode($element->plaintext));
$string = preg_replace('/[^A-Za-z0-9-_!@#:$%^&*\/()+={}<>?;, \-]/', '', $string);
$string = preg_replace('/-+/', ' ', $string);
echo $string;