2017-02-26 14 views
0

に私はWebページから、いくつかのURLを掻き落としていますし、そのページに罰金示すが、私はデータベースにURLを挿入するとき、それはこのスクラッパーを挿入いくつかの奇妙な文字がデータベース

http://westseattleblog.com/event/west-seattle-church-listings/?instance_id=567059 

私のコード

のようないくつかの奇妙を挿入
foreach($html->find('div[class=ai1ec-btn-group ai1ec-actions] a') as $element) 
{ 
    $url= $element->href; 
    $url1=mysql_real_escape_string($url); 
    $sql="insert into catlink(catlink) values('$url1')"; 
    //echo $sql."<br>"; 
    $query=mysql_query($sql); 
    //newpage 
} 

私はデータベースからURLを取得し始め、1つずつ廃棄すると何も表示されません。

私のコード

$sql1="select * from links limit 10"; 
$query1=mysql_query($sql1); 
while($res=mysql_fetch_assoc($query1)){ 
    $url=$res['url']; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    // curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); 
    // curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $page = curl_exec($ch); 
    curl_close($ch); 
    $dom = new simple_html_dom(); 
    $html = $dom->load($page); 
    foreach($html->find("div") as $a){ 
     echo $a->innertext; 
    } 
    //$separator = '&nbsp;-&nbsp;'; 
} 
+0

DBからクエリまで何も得られないということですか?歪んだコンテンツに関しては、それはうまくいくはずです。 [この記事](http://stackoverflow.com/questions/7867204/how-should-be-kept-as-html-tags-in-database)をチェックしてください。 –

+0

Base64は安全なBase64文字列へのURLをエンコードし、代わりにデータベースに保存します。データベースから保存された文字列をBase64でデコードすると、元のURLを簡単に元に戻すことができます。 http://stackoverflow.com/questions/13109588/base64-encoding-in-javaを参照してください。 –

答えて

0

あなたのURLがhex charactersので、あなたがあなたのデータベースまたはだから、cURLの

でそれを使用する前にそれを挿入する前に、それをデコードするhtml_entity_decode を使用する必要があります。

$url1=mysql_real_escape_string(html_entity_decode($url)); 

または

$url=html_entity_decode($res['url']); 
関連する問題