Финальное выражение
#<(p|li)\s+[^>]*?class\s*=\s*(['"])content\2[^>]*>((?:(?!</\1>).)*)</\1>#is
Как видите, эта задача решается достаточно просто. При написании статьи я её выбрал потому, что на форумах очень часто задают вопрос «как выбрать содержимое определённого тега» и «как разобрать HTML разметку». Решение перед вами.