3v4l.org

run code in 300+ PHP versions simultaneously
<?php $exception = ['will not be '=>'will__not__be ', 'will not ' => 'will__not ']; function f($string, $exception){ $newString = strtr($string, $exception); dump($newString); $array = explode(' ', $newString); if( $string !== $newString){ $array = array_combine($array, $array); $flip = array_map('trim', array_flip(array_map('trim', $exception))); $array = array_replace($array, array_intersect_key($flip, $array)); } return array_values($array); } var_dump(f('They will not begin', $exception)); var_dump(f('Will I love?', $exception)); var_dump(f('I will love.', $exception)); var_dump(f('I will not love.', $exception)); var_dump(f('Do I love?', $exception));

preferences:
61.84 ms | 402 KiB | 5 Q