Чтобы получить текст между совпадениями регулярного выражения, вы можете использовать функцию preg_split
:
$result = preg_split('/<\*[^|]+\|[^>]+>/', $input);
В этом регулярном выражении:
<\*
совпадений <*
; [^|]+
соответствует любому символу, кроме |
1 .. * раз; \|
соответствует |
; [^>]+
соответствует любому символу, кроме>
1 .. * раз; >
совпадений >
.
С этим входом:
$input = <<<EOL
<*fixedTagName|Dynamic part of tag name> // * and | are included in fixed part of tag name
//dynamic part can have spaces between words
Random text I need to get of unknown length
some paragraphs of text can start like this(look bellow)
» name: value
» name: value
<*fixedTagName|Dynamic part of tag>
More random text I need to get
<*fixedTagName|Dynamic part of tag>
Final part of random text I need to get
EOL;
$result
будетбыть массивом строк что-то вроде этого:
Array
(
[0] =>
[1] => // * and | are included in fixed part of tag name
//dynamic part can have spaces between words
Random text I need to get of unknown length
some paragraphs of text can start like this(look bellow)
» name: value
» name: value
[2] =>
More random text I need to get
[3] =>
Final part of random text I need to get
)