mirror of
https://github.com/status-im/MyCrypto.git
synced 2025-01-11 19:44:21 +00:00
decode &s
This commit is contained in:
parent
ec4212ae8f
commit
b7ffa458b0
@ -4,19 +4,28 @@ import React from 'react';
|
|||||||
const BOLD_REGEXP = /(\*\*)(.*?)\1/;
|
const BOLD_REGEXP = /(\*\*)(.*?)\1/;
|
||||||
const LINK_REGEXP = /\[([^\[]+)\]\(([^\)]+)\)/;
|
const LINK_REGEXP = /\[([^\[]+)\]\(([^\)]+)\)/;
|
||||||
|
|
||||||
|
function decodeHTMLEntities(text) {
|
||||||
|
var entities = [['amp', '&'], ['lt', '<'], ['gt', '>']];
|
||||||
|
|
||||||
|
for (var i = 0, max = entities.length; i < max; ++i)
|
||||||
|
text = text.replace(new RegExp('&' + entities[i][0] + ';', 'g'), entities[i][1]);
|
||||||
|
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
function linkify(mdString: string) {
|
function linkify(mdString: string) {
|
||||||
const parts = mdString.split(LINK_REGEXP);
|
const parts = mdString.split(LINK_REGEXP);
|
||||||
if (parts.length === 1) {
|
if (parts.length === 1) {
|
||||||
return parts[0];
|
return decodeHTMLEntities(parts[0]);
|
||||||
}
|
}
|
||||||
const result = [];
|
const result = [];
|
||||||
let i = 0;
|
let i = 0;
|
||||||
while (i + 1 < parts.length) {
|
while (i + 1 < parts.length) {
|
||||||
result.push(parts[i]);
|
result.push(decodeHTMLEntities(parts[i]));
|
||||||
result.push(<a href={parts[i + 2]} target="_blank">{parts[i + 1]}</a>);
|
result.push(<a href={parts[i + 2]} target="_blank">{parts[i + 1]}</a>);
|
||||||
i += 3;
|
i += 3;
|
||||||
}
|
}
|
||||||
result.push(parts[parts.length - 1]);
|
result.push(decodeHTMLEntities(parts[parts.length - 1]));
|
||||||
return result.filter(Boolean);
|
return result.filter(Boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user