如何用逗号符号</p>替换<p>标签

时间:2013-12-19 12:05:26

标签: javascript jquery

我有一个隐藏字段,其值为<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>。我想用逗号符号替换</p>标记,并删除<p>标记,以便最终输出为Copy 1,Copy 2,Copy 3,Copy 4。我尝试使用JavaScript replace('<p>','')函数,但我无法将其删除。

4 个答案:

答案 0 :(得分:6)

使用map函数,然后使用','。

连接数组
$.map(
    $('<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>'), 
    function(val, i) { 
       return val.innerHTML; 
    }).join(', ');

答案 1 :(得分:1)

如果需要使用.replace执行此操作,您可以这样做(请注意,这不依赖于jQuery):

var stringToTest = "<p>Copy 1</p><p>Copy 2</p><p>Copy 3</p><p>Copy 4</p>";

stringToTest = stringToTest.replace(/<p>/g, "").replace(/<\/p>/g,",");

stringToTest = stringToTest.substr(0, stringToTest.length - 1);

jsFiddle:http://jsfiddle.net/vTpV2/

答案 2 :(得分:1)

  

“。我尝试使用javascript replace('<p>','')函数。”

如果要对字符串执行全局替换,则必须使用全局标志作为第一个参数传递正则表达式。所以:

var val = $("#idOfYourElementHere").val();

val = val.replace(/<\/p><p>/g, ', ')    // first swap <p></p> for commas
         .replace(/<\/?p>/g, '');       // then swap the leftover <p> and </p>
                                        // for empty strings (i.e., remove them)

答案 3 :(得分:1)

你可以试试这个:

var _sHFVal = _sHFVal.split('<p>').join("").split('</p>').join(',');
_sHFVal = _sHFVal.substring(-1, _sHFVal.length-1);