2012-01-23 132 views
2

我有以下功能來計算標籤中的字符數量。即使當我知道它不止一個數字時,輸出始終爲'1'。我究竟做錯了什麼?這個計數爲什麼總是返回1?

$www = $_POST['url']; 
$url = file_get_contents($www); 

[更多的代碼]

function countTitle() { 
global $url; 
$search = "/\<title\>(.*)\<\/title\>/"; 

preg_match($search, $url, $result); 

$title = $result[1]; // to string 
$counttitle = count($title); 
echo $counttitle; 
} 

我知道正則表達式的作品,因爲我使用下面的函數來呼應標題標籤:

function getTitle() { 
global $url; 
$search = "/\<title\>(.*)\<\/title\>/"; 

preg_match($search, $url, $result); 

$title = $result[1]; // to string 
echo $title; 
} 
+0

您是否正在淨化'$ www'的價值?如果'$ _POST ['url']'是一個URL或服務器上某個文件的路徑,而您不打算讀取該文件,會發生什麼? – 2012-01-23 16:26:20

回答

10

使用strlen($str)數的字母:

$myStr = 'Hello world'; 
echo strlen($myStr); // outputs 11 

Strlen表示Str ing Len gth。

+0

謝謝,愚蠢的錯誤:( – Linkjuice57

1

我想你想strlen()功能,而不是count()

1

如果您使用的是UTF-8編碼(非拉丁字符)mb_strlen()會更加準確。

相關問題