3v4l.org

run code in 500+ PHP versions simultaneously
<?php $str = <<<'EOD' NW Brockville Se Nashville N Brockville S Nashville E Brockville W Nashville PE Springfield Kr Nashville Sete Nevers EOD; echo preg_replace_callback('~^([ns]?[ew]?\b ?)(?:^[a-z]{2} )?~mi', fn($m) => strtoupper($m[1]), $str);

preferences:
22.66 ms | 475 KiB | 4 Q