- print_r: documentation ( source)
- preg_match_all: documentation ( source)
- array_unique: documentation ( source)
<?php
$s = '{1|{1078} {*|{1079}-}test{1|{4829}, test2 {4457}}} {*|{1078} {*|{1079}-}test3{1|{4829}, test4 {23232}}}';
if (preg_match_all('~\|\{(\d+)}~', $s, $matches)) {
print_r(array_unique($matches[1]));
}