2012-10-02 93 views
0

我想採用以大寫字母開頭並以點號結束的行。在txt中讀取第一個字符和最後一個字符

function isCapital($string) { 
    return preg_match('/^\\s*[A-Z]/', $string) > 0; 
} 

foreach ($url as $file => $files) { 
    $lines = file($files); 
    foreach ($lines as $key => $line) { 
     if (isCapital($line) && (substr($line, -1) == '.')) { 
      print_r($line); 
     } 
    } 
} 

但是,它不起作用,空白的結果。怎麼了?

回答

2

替換您foreach($lines...下面這個例子:

foreach ($lines as $key => $line) { 
    if (preg_match('~^\s*[A-Z].*\.\s*$~', $line)) { 
     print_r($line); 
    } 
} 
+0

太棒了..非常感謝你,先生:) –

0

你的正則表達式似乎有點關閉。 \\s*正在尋找字面反斜槓,然後是s的任意數字。刪除\之一,你應該取得進展。

+0

雙反斜線是正確的PHP字符串(包括雙和單引號),導致單反斜線內逸出;這反過來又會達到libpcre。 – mario

相關問題