使用HTML标记格式化文本,并从JavaScript中的字符串中删除不需要的文本

时间:2017-02-03 07:03:30

标签: javascript html

我正忙于创建CSV数据导出,而某些数据字段包含HTML标记。

我在从传递给my方法的值/数据字段中剥离所有HTML标记和一些文本时遇到一些困难,并创建了正确的输出。

这是传递给我的方法以删除HTML标记的值/字符串的示例:

"<a href=\"https://twitter.com/FNBSA\" target=\"_blank\">FNBSA</a>"

这是所需的输出(在Excel中创建一个可点击的字段,可以转到超链接地址):

=HYPERLINK("https://twitter.com/FNBSA","View Media")

您会注意到,我还要删除_blank\">和结束</a>"之间的文字,在此示例中,第二 FNBSA 。这个值可以是任何东西。

我尝试了各种不同的格式,但似乎无法正确使用。

这是我目前删除HTML代码和不需要的文字的方法:

&#13;
&#13;
str = "<a href=\"https://twitter.com/FNBSA\" target=\"_blank\">FNBSA</a>";

var rem1 = str.replace('<a href=\"', '');
var rem2 = rem1.replace('\"target=\"_blank\">', '');
var rem3 = rem2.replace('</a>', '');

var value = '=HYPERLINK("' + rem3 + '","View Media")';

console.log(value)
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

添加空间

var rem2 = rem1.replace('\"target=\"_blank\">', '');

var rem2 = rem1.replace('\" target=\"_blank\">', '');

str = "<a href=\"https://twitter.com/FNBSA\" target=\"_blank\">FNBSA</a>";

var rem1 = str.replace('<a href=\"', '');
var rem2 = rem1.replace('\" target=\"_blank\">', '');
var rem3 = rem2.replace('</a>', '');

var value = '=HYPERLINK("' + rem3 + '","View Media")';

console.log(value)

答案 1 :(得分:1)

假设href始终是第一个属性,请尝试使用

str = "<a href=\"https://twitter.com/FNBSA\" target=\"_blank\">FNBSA</a>";

var parts = str.split('\"');
var value = '=HYPERLINK("' + parts[1] + '","View Media")';

console.log(value)

答案 2 :(得分:1)

试试Regex

str.match('http(s)?:\/\/[a-z0-9.-]+[^"\']*')[0]