删除特殊字符之前或之后的所有内容

时间:2014-06-06 20:06:10

标签: javascript jquery

我正在尝试更改RSS Feed提供的列表。 Feed显示如下:

<ul>
    <li>
        <a title="Posted " href="" target="_blank">
            Chris Liebing in Castellaneta Marina - 21 June
       </a>
        <p>
           Chris Liebing, Clorophilla, Chlorophilla, Castellaneta Marina, Italy, 2014-06-21 
        </p>
    </li>
</ul>

结果应如下所示:

<ul>
    <li>
        <a title="Posted " href="" target="_blank">
            21 June
       </a>
        <p>
            Clorophilla, Chlorophilla, Castellaneta Marina, Italy 
        </p>
    </li>
</ul>

我必须将日期显示在左侧并隐藏段落的艺术家姓名(Chris Liebing)。也摆脱了2014-06-21的最后日期。 将为不同的艺术家展示更多的列表,这就是为什么我认为它是最好的 在链接中的“ - ”之前删除所有内容并隐藏段落中第一个和之后的所有内容。

1 个答案:

答案 0 :(得分:1)

这将删除链接中"-"之前的所有内容,并隐藏段落中第一个","之前和之后的所有内容。

$('li a').text(function(_, txt) {
    return $.trim( txt.split('-').pop() ); // split on hyphen, get last part
});

$('li p').text(function(_, txt) {
    var parts = txt.split(','); // split on comma
    parts.shift();              // remove first
    parts.pop();                // remove last
    return parts.join(',');     // put back together again
});

FIDDLE