To be honest, Regex is not a good tool for this: it's a text processor, and that means it's great at processing well formed text, but not so great at processing syntax.
If you are going to play with Regexes, then get a copy of
Expresso[
^] - it's free, and it examines, tests, and generates Regular expressions.
And the Regex you show doesn't even come close to finding anything in your examples:
A numbered capture group
Any char, any number of repetitions (Including zero)
A literal ">" followed by whitespace or non whitespace
The literal "face"
Another whitespace-or-not-whitespace character
A literal "<" followed by a literal "/"
A numbered capture group
Any char, any number of repetitions (Including zero)
Which frankly is garbage, and even if it did work - which it won't - would match the entire document rather than just a fragment of it!
Instead of that, look at an HTML parser:
php html processor - Google Search[
^]
I haven't used any of them - I do all my HTMNL stuff in C# - but something there will work better than any regex!