<code>$string = "Hello «USER_ID#USERNAME#STATUS», do you like «PROD_ID#PRODNAME#STATUS»?";
preg_match_all('/«(.*)#(.*)#(.*)»/U',$string,$matches);
echo '<pre>';
var_dump($matches);
echo '
';
дает
array(4) {
[0]=>
array(2) {
[0]=>
string(25) "«USER_ID#USERNAME#STATUS»"
[1]=>
string(25) "«PROD_ID#PRODNAME#STATUS»"
}
[1]=>
array(2) {
[0]=>
string(7) "USER_ID"
[1]=>
string(7) "PROD_ID"
}
[2]=>
array(2) {
[0]=>
string(8) "USERNAME"
[1]=>
string(8) "PRODNAME"
}
[3]=>
array(2) {
[0]=>
string(6) "STATUS"
[1]=>
string(6) "STATUS"
}
}
Обратите внимание на использование переключателя Ungreedy.
Я уверен, что кто-то скоро будет рядом, чтобы изменить регулярное выражение так, чтобы оно по своей природе не было жадным