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