LyricsProvider: Parse multiple sections of the same tag

This commit is contained in:
Jonas Kvinge
2022-10-16 01:27:54 +02:00
parent 43c14ae71b
commit bf904a6afa
3 changed files with 49 additions and 31 deletions

View File

@@ -480,9 +480,9 @@ void GeniusLyricsProvider::HandleLyricReply(QNetworkReply *reply, const int sear
}
QString content = QString::fromUtf8(data);
QString lyrics = ParseLyricsFromHTML(content, QRegularExpression("<div[^>]*>"), QRegularExpression("<\\/div>"), QRegularExpression("<div data-lyrics-container=[^>]+>"));
QString lyrics = ParseLyricsFromHTML(content, QRegularExpression("<div[^>]*>"), QRegularExpression("<\\/div>"), QRegularExpression("<div data-lyrics-container=[^>]+>"), true);
if (lyrics.isEmpty()) {
lyrics = ParseLyricsFromHTML(content, QRegularExpression("<div[^>]*>"), QRegularExpression("<\\/div>"), QRegularExpression("<div class=\"lyrics\">"));
lyrics = ParseLyricsFromHTML(content, QRegularExpression("<div[^>]*>"), QRegularExpression("<\\/div>"), QRegularExpression("<div class=\"lyrics\">"), true);
}
if (!lyrics.isEmpty()) {