0

我正在尝试在 jQuery 中格式化 HTML 内容以发布到 Facebook 事件。

本质上,我想获取一些内容,例如:

<p>Plus&nbsp;<a id=\"js_131\" href=\"https://www.facebook.com/themotorleague?directed_target_id=0\" data-hovercard=\"/ajax/hovercard/page.php?id=42475533139&amp;extragetparams=%7B%22directed_target_id%22%3A0%7D\" data-mce-href=\"https://www.facebook.com/themotorleague?directed_target_id=0\">The Motorleague</a></p>
<p><a href=\"https://www.facebook.com/AtomiqueProductions/events?directed_target_id=0\" data-hovercard=\"/ajax/hovercard/page.php?id=133649633385384&amp;extragetparams=%7B%22directed_target_id%22%3A0%7D\" data-mce-href=\"https://www.facebook.com/AtomiqueProductions/events?directed_target_id=0\">Atomique Productions</a>&nbsp;and&nbsp;<a href=\"https://www.facebook.com/thezone.fm?directed_target_id=0\" data-hovercard=\"/ajax/hovercard/page.php?id=339763011997&amp;extragetparams=%7B%22directed_target_id%22%3A0%7D\" data-mce-href=\"https://www.facebook.com/thezone.fm?directed_target_id=0\">The Zone @ 91-3, Modern Rock in Victoria</a>&nbsp;present</p>
<p>-&nbsp;<a href=\"https://www.facebook.com/TheBalconies?directed_target_id=0\" data-hovercard=\"/ajax/hovercard/page.php?id=7677069042&amp;extragetparams=%7B%22directed_target_id%22%3A0%7D\" data-mce-href=\"https://www.facebook.com/TheBalconies?directed_target_id=0\">THE BALCONIES</a>&nbsp;-</p>

并通过 jQuery 函数将其传递以删除所有 HTML 标记,无论 a<p>存在,添加\n\r\使其看起来像:

加上汽车联赛

Atomique Productions 和 The Zone @ 91-3,维多利亚现代摇滚

- 阳台 -

这可能吗?

如果相关,则 HTML 内容直接来自 WordPress 帖子页面的 TinyMCE 编辑器。

4

1 回答 1

1

你是这个意思吗:

var $el = jQuery('p');

console.log(doit($el));

function doit($el)
{
  var ret = '';
  $el.each(function()
  {
      ret += jQuery(this).text() + '\n\r';
  })
  return ret;
}

输出:

Plus The Motorleague
Atomique Productions and The Zone @ 91-3, Modern Rock in Victoria present
- THE BALCONIES -

修订:

var $el = jQuery('<div>' + str + '</div>').find('*');

console.log(doit($el));

function doit($el)
{
  var ret = '';
  $el.each(function()
  {
      var nl = $(this).is('p') ? '\n\r' : '';
      ret += jQuery(this).text() + nl;
  });
  return ret;
}
于 2013-10-17T04:10:00.200 回答