При получении сообщений процессор
анализирует текст на наличие ссылок...
Было бы удобно добавить поддержку
phpBB-тегов. В стиле
[b]1[/b] - жирный текст
[i]2[/i] - наклонный текст
Реализовать можно разными способами
1) Создать плагин поддержки phpBB
2) Внедрить готовый код в messageprocessor.cpp
Добавляем функцию
QString MessageProcessor::parseBB(const QString &AString) const
{
QString result = AString;
QMap<QString, QString> mDefaults;
mDefaults.insert("\\[b\\](.*)\\[/b\\]", "<b>\\1</b>");
mDefaults.insert("\\[i\\](.*)\\[/i\\]", "<i>\\1<\/i>");
mDefaults.insert("\\[u\\](.*)\\[\/u\\]", "<u>\\1</u>");
mDefaults.insert("\\[img\\](.*)\\[\/img\\]", "<img src=\"\\1\">");
mDefaults.insert("\\[url\\=(.*)\\](.*)\\[\/url\\]", "<a href=\"\\1\">\\2</a>");
mDefaults.insert("\\[code\\](.*)\\[\/code\\]", "<code>\\1</code>");
int j = 0;
QMap<QString, QString>::iterator i;
for (i = mDefaults.begin(); i!= mDefaults.end(); ++i)
{
QRegExp rx = QRegExp(i.key());
rx.setMinimal(true);
result.replace(rx, i.value());
}
return result;
}
Затем правим
QString MessageProcessor::prepareBodyForReceive(const QString &AString) const
{
QString result = Qt::escape(AString);
result = this->parseBB(AString); //Qt::escape(AString);
result.replace('\n',"<br>");
result.replace(" "," ");
result.replace('\t'," ");
return result;
}
Можно пользоваться).
С уважением Newcss
Original issue reported on code.google.com by newc...@gmail.com on 30 Mar 2015 at 3:33
Original issue reported on code.google.com by
newc...@gmail.com
on 30 Mar 2015 at 3:33