Currently I am exploding a string at . and it works as I like. the only issue is that is also explodes when the . occurs as a decimal point. Is there a
You can use preg_split for this with the regex of /(?:
Output:
Array
(
[0] => This is a string
[1] => It will split at the previous point and the next one
[2] => Here 7.9 is a number
)
DEMO
What does the regex mean?
(? - a "negative lookbehind" meaning it will only match if there is NO digit (\d) before the dot\. - a literal . character. It needs to be escaped as . in regex means "any character"(?!\d) - a "negative lookahead" meaning it will only match if there is NO digit (\d) after the dotExtra:
You can get rid of the spaces by using a regex as /(? that will also match any number of white-spaces after the dot, or alternatively you can use $NewString = array_map('trim', $NewString);.