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 回答