diff --git a/src/songinfo/songinfotextview.cpp b/src/songinfo/songinfotextview.cpp index 94b44f31d..5229a4c69 100644 --- a/src/songinfo/songinfotextview.cpp +++ b/src/songinfo/songinfotextview.cpp @@ -79,9 +79,12 @@ void SongInfoTextView::contextMenuEvent(QContextMenuEvent* e) { void SongInfoTextView::SetHtml(const QString& html) { QString copy(html.trimmed()); - // Simplify newlines, and convert them to
- copy.replace(QRegExp("[\\r\\n]+"), "\n"); - copy.replace(QRegExp("([^>])[\\t ]*\\n"), "\\1
"); + // Simplify newlines + copy.replace(QRegExp("\\r\\n?"), "\n"); + + // Convert two or more newlines to
, convert single newlines to
+ copy.replace(QRegExp("([^>])([\\t ]*\\n){2,}"), "\\1
");
+ copy.replace(QRegExp("([^>])[\\t ]*\\n"), "\\1
");
// Strip any newlines from the end
copy.replace(QRegExp("((<\\s*br\\s*/?\\s*>)|(<\\s*/?\\s*p\\s*/?\\s*>))+$"),
diff --git a/src/songinfo/ultimatelyricslyric.cpp b/src/songinfo/ultimatelyricslyric.cpp
index 8f8575868..feafd2227 100644
--- a/src/songinfo/ultimatelyricslyric.cpp
+++ b/src/songinfo/ultimatelyricslyric.cpp
@@ -25,9 +25,12 @@ UltimateLyricsLyric::UltimateLyricsLyric(QObject* parent)
void UltimateLyricsLyric::SetHtml(const QString& html) {
QString copy(html.trimmed());
- // Simplify newlines, and convert them to
- copy.replace(QRegExp("[\\r\\n]+"), "\n"); - copy.replace(QRegExp("([^>])[\\t ]*\\n"), "\\1
"); + // Simplify newlines + copy.replace(QRegExp("\\r\\n?"), "\n"); + + // Convert two or more newlines to
, convert single newlines to
+ copy.replace(QRegExp("([^>])([\\t ]*\\n){2,}"), "\\1
");
+ copy.replace(QRegExp("([^>])[\\t ]*\\n"), "\\1
");
// Strip any newlines from the end
copy.replace(QRegExp("((<\\s*br\\s*/?\\s*>)|(<\\s*/?\\s*p\\s*/?\\s*>))+$"),
diff --git a/src/songinfo/ultimatelyricsprovider.cpp b/src/songinfo/ultimatelyricsprovider.cpp
index 586e5d239..e3a51b7eb 100644
--- a/src/songinfo/ultimatelyricsprovider.cpp
+++ b/src/songinfo/ultimatelyricsprovider.cpp
@@ -223,7 +223,7 @@ QString UltimateLyricsProvider::Extract(const QString& source,
int end_idx = source.indexOf(end, begin_idx);
if (end_idx == -1) return QString();
- return source.mid(begin_idx, end_idx - begin_idx - 1);
+ return source.mid(begin_idx, end_idx - begin_idx);
}
void UltimateLyricsProvider::ApplyExcludeRule(const Rule& rule,