<?php
$results = [];
$string = "@friends @john [quote]@and @jane[/quote] @doe";
$rx = '~(\[quote\](?:(?1)|.)*?\[/quote])(*SKIP)(*F)|@\w+~s';
PD9waHAKCiRyZXN1bHRzID0gW107CiRzdHJpbmcgPSAiQGZyaWVuZHMgQGpvaG4gW3F1b3RlXUBhbmQgQGphbmVbL3F1b3RlXSBAZG9lIjsKJHJ4ID0gJ34oXFtxdW90ZVxdKD86KD8xKXwuKSo/XFsvcXVvdGVdKSgqU0tJUCkoKkYpfEBcdyt+cyc7CnByZWdfbWF0Y2hfYWxsKCRyeCwgJHN0cmluZywgJHJlc3VsdHMpOwpwcmludF9yKCRyZXN1bHRzWzBdKTs=