2011-03-03 93 views
2

我在PHP中使用cURL來獲取網頁內容,它的工作效果很好。但是我的程序現在要求我只從目標站點獲取純文本,而不是HTML。我已經廣泛地尋找這個,但沒有人似乎有答案。我也嘗試在我的cURL選項中設置CURLOPT_TRANSFERTEXT=1,但這似乎對結果沒有影響。PHP cURL獲取明文

任何想法爲什麼會發生這種情況?

回答

2

確保您有以下:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

curl_exec返回值應該是隨後的數據。

+0

這是我目前所做的獲取數據。我只想要純文本。不是HTML,因爲它提供了 – Alan 2011-03-03 02:01:02

+0

@Alan:如果您不希望HTML標記在打印到頁面時呈現,請使用[htmlentities](http://php.net/htmlentities)。如果您不想使用HTML標籤期間,請使用[strip_tags](http://php.net/strip_tags)。 – 2011-03-03 11:17:23

1

我認爲這是你在找什麼:

<? 
$address = file_get_contents('http://www.thesite.com/file.html'); 
echo $address; 



$file = file_get_contents('./file.txt', true); 

or 

$file = file_get_contents('./file.txt', FILE_USE_INCLUDE_PATH); 

?> 
+0

這是否以明文形式獲得'http://www.thesite.com/file.html'的內容? – Alan 2011-03-03 02:09:46

+0

不是簡單的,而是整個頁面 - > $ address = file_get_contents('http://php.net/'); – B4NZ41 2011-03-03 02:46:23

+0

我認爲不可能僅以文本格式分離整個文件,因爲它不會返回任何格式化的內容,並且會將所有內容混淆起來......如果要返回文本文件,最好是閱讀xml文件或甚至是一個文本文件。 – B4NZ41 2011-03-03 02:55:38

0

其實我不喜歡這樣獲得另一頁的內容。

<?php 
function curl_get_file_contents($URL) 
    { 
     $c = curl_init(); 
     curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($c, CURLOPT_URL, $URL); 
     $contents = curl_exec($c); 
     curl_close($c); 

     if ($contents) return $contents; 
      else return FALSE; 
    } 


echo curl_get_file_contents("http://www.php.net"); 
?> 

但它返回給我的全部內容。