Preg. Найти слово но пропустить если это расширение (.php)

Name

Новичок
Preg. Найти слово но пропустить если это расширение (.php)

PHP:
$string = 'test php <spam class="php">php</span> file.php';
$preg = "~\b(php)\b(?![^<]*>)~i";

preg_match_all($preg, $string, $matches);
echo "<pre>"; print_r($matches); echo "</pre>";

Это находит все вхождения 'php' в строке исключая html атрибуты

Как сделать чтоб не находило если это расширение файла '.php'
тоесть если это слово php, asp, html etc. и впереди точка то не находить
 

Name

Новичок
Может и это но как ее встроить в существующий паттерн.
 
Сверху