Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript或PHP替换部分HTML字符串_Javascript_Php_Html_Regex - Fatal编程技术网

用Javascript或PHP替换部分HTML字符串

用Javascript或PHP替换部分HTML字符串,javascript,php,html,regex,Javascript,Php,Html,Regex,我需要替换显示YouTube视频的部分HTML标记: <div class="pretty-embed" data-pe-videoid="IL5AbXBqzwk" data-pe-fitvids="true">&nbsp;</div> 我正在寻找一个使用PHP或jQuery/vanilla JavaScript的解决方案。我尝试过使用PHP&正则表达式,但没有成功 任何帮助都将不胜感激。使用jQuery向每个div添加/附加图像的解决方案,因为不清楚“替换ht

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

<div class="pretty-embed" data-pe-videoid="IL5AbXBqzwk" data-pe-fitvids="true">&nbsp;</div>
我正在寻找一个使用PHP或jQuery/vanilla JavaScript的解决方案。我尝试过使用PHP&正则表达式,但没有成功


任何帮助都将不胜感激。

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

(函数($){
$(函数(){
$('[data pe videoid]')。每个(函数(){
var el=$(本);
//附加img
el.追加($('');
});
});
})(jQuery);
或者替换而不是附加:

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

发布您的代码……我无法理解您到底想要什么。您的问题中的
有什么关系?您是想替换
div
本身还是想将
img
添加到
div
中?如果不够清楚,很抱歉。我已经添加了额外的descriptionAlex,您使用replaceWith的解决方案正是我所寻找的。您能发布纯javascript等价物吗?我走了这么远:
<div class="pretty-embed" data-pe-videoid="
<img src="img.youtube.com/vi
" data-pe-fitvids="true">&nbsp;</div>
/sddefault.jpg">
(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">'));