【问题标题】:Replace part of HTML string with Javascript or PHP用 Javascript 或 PHP 替换部分 HTML 字符串
【发布时间】:2016-04-06 10:57:38
【问题描述】:

我需要替换部分 HTML 标记以显示 YouTube 视频:

<div class="pretty-embed" data-pe-videoid="IL5AbXBqzwk" data-pe-fitvids="true">&nbsp;</div>

直接链接到 YouTube 图片,同时保留 data-pe-videoid 属性中定义的 ID:

<img src="http://img.youtube.com/vi/YiF7e7m2jPo/sddefault.jpg">

如果我把它分成两部分,我需要替换

<div class="pretty-embed" data-pe-videoid="

<img src="img.youtube.com/vi

" data-pe-fitvids="true">&nbsp;</div>

/sddefault.jpg">

我正在寻找使用 PHP 或 jQuery/vanilla JavaScript 的解决方案。我尝试使用 PHP 和正则表达式进行试验,但没有成功。

任何帮助将不胜感激。

【问题讨论】:

  • 发布您的代码...
  • 我不明白你到底想要什么。您问题中的&lt;div&gt;&lt;img&gt; 有什么关系?
  • 您是要替换div 本身还是要将img 添加到div
  • 对不起,如果不够清楚。我添加了额外的描述

标签: javascript php html regex


【解决方案1】:

使用 jQuery 向每个 div 添加/附加图像的解决方案,因为它不清楚您所说的“替换部分 html”是什么意思:

(function($) {
  $(function() {
    $('[data-pe-videoid]').each(function() {
      var el = $(this);

      // append img

      el.append($('<img src="http://img.youtube.com/vi/' + el.data('pe-videoid') + '/sddefault.jpg">'));
    });
  });
})(jQuery);

替代地替换而不是附加:

el.replaceWith($('<img src="http://img.youtube.com/vi/' + el.data('pe-videoid') + '/sddefault.jpg">'));

【讨论】:

  • Alex,你的 replaceWith 解决方案正是我想要的。
  • 能否请您发布纯javascript等价物?我做到了这一点:jsfiddle.net/esedic/27acqb8r
猜你喜欢
  • 1970-01-01
  • 2013-06-19
  • 1970-01-01
  • 2011-09-04
  • 2021-03-01
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
相关资源
最近更新 更多