@@ -253,7 +253,8 @@ AParsedBlockList AParser::parseBlocks (const QString& source)
253
253
}
254
254
255
255
// получение тэга
256
- QString tag = data.mid (pos1, pos2 - pos1 + 1 ).toLower ();
256
+ QString tag = data.mid (pos1, pos2 - pos1 + 1 );
257
+ QString ltag = tag.toLower ();
257
258
258
259
current_quote.Data += data.mid (0 , pos1);
259
260
data.remove (0 , pos2 + 1 );
@@ -276,7 +277,7 @@ AParsedBlockList AParser::parseBlocks (const QString& source)
276
277
{
277
278
// поиск открывающего тэга
278
279
for (size_t i = 0 ; i < sizeof (strong_tags) / sizeof (AStrongTag); i++)
279
- if (tag == strong_tags[i].OpenPart )
280
+ if (ltag == strong_tags[i].OpenPart )
280
281
{
281
282
found_tag = &strong_tags[i];
282
283
break ;
@@ -286,7 +287,7 @@ AParsedBlockList AParser::parseBlocks (const QString& source)
286
287
{
287
288
// поиск закрывающего тэга
288
289
for (size_t i = 0 ; i < sizeof (strong_tags) / sizeof (AStrongTag); i++)
289
- if (tag == strong_tags[i].ClosePart && strong_tags[i].Type == current_block.Type )
290
+ if (ltag == strong_tags[i].ClosePart && strong_tags[i].Type == current_block.Type )
290
291
{
291
292
found_tag = &strong_tags[i];
292
293
break ;
@@ -322,12 +323,20 @@ AParsedBlockList AParser::parseBlocks (const QString& source)
322
323
// найден простой немонолитный тэг
323
324
if (found_tag == NULL )
324
325
{
325
- if (tag == " [strike]" )
326
- tag = " [s]" ;
327
- else if (tag == " [/strike]" )
328
- tag = " [/s]" ;
326
+ // двойной тэг перечеркивания - приводим к одному
327
+ if (ltag == " [strike]" )
328
+ ltag = " [s]" ;
329
+ else if (ltag == " [/strike]" )
330
+ ltag = " [/s]" ;
331
+
332
+ // специальный случай ссылки - содержимое ссылки не должно менять регистр
333
+ if (ltag.indexOf (" [url=" ) == 0 )
334
+ {
335
+ ltag = tag;
336
+ ltag.replace (0 , 5 , " [url=" );
337
+ }
329
338
330
- current_quote.Data += tag ;
339
+ current_quote.Data += ltag ;
331
340
332
341
// условие выполнится, когда строка заканчивается немонолитным тэгом
333
342
if (data.length () == 0 )
0 commit comments