Pokud je dotaz ještě aktivní tak bych si dovolil odpovědět.
Pokud víte že CZ bude vždy 2. v pořadí v tom stringu tak to můžete udělat univerzálně přes :
<?php
$text ='<site name="RS" onpage="543" ingame="514"/><site name="CZ" onpage="544" ingame="375"/><site name="SI" onpage="250" ingame="84"/>';
preg_match_all("/onpage=\"(.*?)\"/ui", $text, $res);
Kde v $res bude vícerozměrné pole a v prvním indexu bude pole s onpage="XXX" a v druhém indexu bude pole pouze s XXX.
Takže pokud víte že CZ je vždy 2 v pořadí tak stačí jen :
<?php
$text ='<site name="RS" onpage="543" ingame="514"/><site name="CZ" onpage="544" ingame="375"/><site name="SI" onpage="250" ingame="84"/>';
preg_match_all("/onpage=\"(.*?)\"/ui", $text, $res);
echo "CZ - " . $res[1][1];
Ale pokud nevíte pořadí, můžete použít tento regulár, který vytáhne jen to kde je CZ :
<?php
$text ='<site name="RS" onpage="543" ingame="514"/><site name="CZ" onpage="544" ingame="375"/><site name="SI" onpage="250" ingame="84"/>';
preg_match_all("/CZ\".*?onpage=\"(.*?)\"/ui", $text, $res);
echo "CZ - " . $res[1][0];