0

大文字で始まり、ドットで終わる行を取得したいと思います。

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);
        }
    }
}

しかし、それは機能しません、空白の結果。どうしたの?

4

2 に答える 2

2

foreach($lines...以下のものに置き換えてください。

foreach ($lines as $key => $line) {
    if (preg_match('~^\s*[A-Z].*\.\s*$~', $line)) {
        print_r($line);
    }
}
于 2012-10-02T21:04:50.667 に答える
0

あなたの正規表現は少しずれているようです。 \\s*は、文字通りの円記号の後に任意の数の文字が続くものを探していますs。のいずれかを削除する\と、進行するはずです。

于 2012-10-02T21:03:05.630 に答える