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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
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:
112.07 ms | 408 KiB | 5 Q