Ich habe gelesen, dass es mit folgendem gehen soll:
preg_match('@^(?:profil(')?([^']+)@i',$string, $treffer);
klapt aber nicht, vieleicht ist auch irgendwein Zeichen falsch,
...
Wir nehmen Lookbehind Assertions:
zuerst etwas gruppiert:
'@ (?<=profil) (' ( .*? ) ') @'
und jetzt für php ohne whitespace
'@(?<=profil)('(.*?)')@'
mfg Beat