I have a text which contains the word “Article” many times for example:
My text title Article 1 bla bla Article 2 bla bla …
I want to split the text like this:
Text1=Article 1 bla bla Text2=Article 2 bla bla ...
Advertisement
Answer
Instead of trying to find a split pattern, you should look for a matching pattern:
/Article.*?(?=Article|$)/
It matches Article
, followed by anything up to but not including another Article
or end of line.
$str = 'some ething Article 1 2 3 Article 5 6 7'; preg_match_all('/Article.*?(?=Article)/', $str, $matches); print_r($matches[0]);
Output:
Array ( [0] => Article 1 2 3 [1] => Article 5 6 7 )
Edit
To just filter out the Article
followed by a number:
preg_match_all('/Article d+/', $str, $matches); // $matches[0] contains "Article 1" and "Article 5"