substr($stringa, strpos($stringa, "|nome=[[") + 8, strpos($stringa, "]]|ruolo=") - strpos($stringa, "|nome=[[") - 8);
Prova così, se manca qualcosa regola aggiungendoci un +1.
http://www.php.net/manual/en/function.substr.php
http://www.php.net/manual/en/function.strpos.php