PHP preg_match() でハマり道
実際にはそんなにハマってはいないのですが。。。
- パス名内の文字を抽出する場合は、/ を | などに書き換える。
- パターンにマッチした文字を抽出する場合、() だけでなく、その中に [] を入れる。
ということを覚えておくと、書くときに楽になれそう。
$users = [];
foreach ($lines as $line) {
if (preg_match('|/home/([^\/]+)/|', $line, $matches)) {
if (!in_array($matches[1], $users)) $users[] = $matches[1];
}
}