well, he said he didn't test it.
a simple call to print_r($match) would probably have revealed that $match does get populated, the only thing is that it is a one-dimensional array, so the syntax to access elements was wrong.
the other issues:
case sensivity:
i-modifier http://www.php.net/manual/en/pcre.pattern.modifiers.php
missing quotes:
might be easiest to treat the different cases separately in an alternation, like
content=("[^"]+"|\\'[^\\']+\\'|\\S+)
the drawback: the quotes are parts of the match of this subpattern, but you can easily get rid of the with trim() or str_replace() when you output or process the match.
order of attributes:
depends on how precise you want the match to be. can you rely on each meta tag having a name attribute? then it might be enough to mark the name thing="keyword" part as optional and put it before and after the content part (watch the spaces).