2012-10-02 5 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

관련 문제