我这里有来自youtube的嵌入代码,我使用插件来显示该视频
<object width="350" height="200">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://www.youtube.com/v/KVu3gS7iJu4&autoplay=0&loop=0&rel=0" />
<param name="wmode" value="transparent">
<embed src="http://www.youtube.com/v/KVu3gS7iJu4&autoplay=0&loop=0&rel=0" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" allowscriptaccess="always" width="350" height="200">
</embed>
</object>
我的问题是我无法编辑这些代码,我需要更改“&amp;”签署“&
”以进行w3c验证,这可以使用jquery
这是我的样本小提琴,它不起作用,不知道如何http://jsfiddle.net/kfX9M/
答案 0 :(得分:2)
使用jQuery更改它不会使您的HTML有效。您可以使用某些PHP在服务器端更改它:
$dom = new DOMDocument();
$dom->loadHTML($your_embed_code_here);
$xpath = new DOMXPath($dom);
$items = $xpath->query("//*[contains(@href,'&')]");
$l = $item->length;
for($i=0; $i<$l; $i++) {
$items->item($i)->setAttribute("href",str_replace("&","&",$items->item($i)->getAttribute("href")));
}
$out = $dom->saveHTML();
但是,正如elclanrs所说,它确实没有区别。
答案 1 :(得分:0)
嗨,老兄我用 jQuery 和正则表达式做了。,
<script type="text/javascript">
$(document).ready( function() {
var re=/&/g;
var value=$("param[name='movie']").val();
var modified_value=value.replace(re,'&');
$("param[name='movie']").val(modified_value);
var src = $("embed").attr('src');
var src_modified_value=src.replace(re,'&');
$("embed").attr('src',src_modified_value);
});
</script>
我认为这可以帮助您解决问题。
要查看它的实际效果:http://jsfiddle.net/john_rock/7H2Hk/