I feel this is worth adding. You can keep the delimiter in the “after” string by using regex lookahead to split:
$input = "The address is http://stackoverflow.com/";
$parts = preg_split('@(?=http://)@', $input);
// $parts[1] is "http://stackoverflow.com/"
And if the delimiter is of fixed length, you can keep the delimiter in the “before” part by using lookbehind:
$input = "The address is http://stackoverflow.com/";
$parts = preg_split('@(?<=http://)@', $input);
// $parts[0] is "The address is http://"
This solution is simpler and cleaner in most cases.