3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = "manger des pâtes à la carbonara dans un restaurant de pâtes"; $pattern = "/(.*) (son |sa |ses |un |une |des |du |le |les |la )(.*) dans (son |sa |ses |un |une |de la |des |du |la |le |les |l')(.*)\z/"; if (preg_match($pattern, $str, $matches1) && preg_match($pattern.'U', $str, $matches2)) { $result = [$matches1, $matches2]; print_r($result); }
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [0] => Array ( [0] => manger des pâtes à la carbonara dans un restaurant de pâtes [1] => manger des pâtes à [2] => la [3] => carbonara [4] => un [5] => restaurant de pâtes ) [1] => Array ( [0] => manger des pâtes à la carbonara dans un restaurant de pâtes [1] => manger [2] => des [3] => pâtes à la carbonara [4] => un [5] => restaurant de pâtes ) )

preferences:
101.81 ms | 1343 KiB | 4 Q