Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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 更换部分img src_Javascript_Php_Jquery_Image - Fatal编程技术网

Javascript 更换部分img src

Javascript 更换部分img src,javascript,php,jquery,image,Javascript,Php,Jquery,Image,我需要能够更改img src的一小部分。当通过免费CMS服务上传img时,保存img的路径位于一个名为www.domain.com的文件中,因此代码随后将图像显示为,但图像实际上保存在一个名为“static”的无cookie子域中。 所以我需要一些东西来将www更改为静态onload 请帮助我,我已经尝试了几个PHP和jQuery脚本,但都没有成功,我也不知道为什么。这会将每个图像URL中第一次出现的“www”更改为“static”: var images=document.querySelec

我需要能够更改img src的一小部分。当通过免费CMS服务上传img时,保存img的路径位于一个名为www.domain.com的文件中,因此代码随后将图像显示为
,但图像实际上保存在一个名为“static”的无cookie子域中。
所以我需要一些东西来将www更改为静态onload


请帮助我,我已经尝试了几个PHP和jQuery脚本,但都没有成功,我也不知道为什么。

这会将每个图像URL中第一次出现的“www”更改为“static”:

var images=document.querySelectorAll('img');
[].forEach.call(images,function(img){
    img.src=img.src.replace('www','static');
});

您可以使选择器比“img”更具体,以准确地获取所需的元素:

您需要某种方法来识别要从中提取
src
(它是否具有
id
?)的图像,但是您可以简单地执行字符串替换:

myImg.src = myImg.src.replace('domain', 'static.domain');

你能展示你的代码吗?更好地解释并展示一些代码。。我正在使用一个无cookie的子域来承载图像和其他静态文件,但当IMG通过CMS上传时,它们所在的文件夹名为www.而不是static。因此,页面上的代码将src显示为。而不是。我需要一些可以改变www.withe静态的东西。我已经在PHP和jQuery中尝试了几种类似的代码变体
$('img')。每个(function(){$(this).attr(“src”),$(this.attr('src')。replace('http://www.domain.com", "http://static.domain.com")); });您是否试图从cookie中获取图像并将其回显到标记元素中?“通过免费CMS”。什么CMS?“我试过几个PHP和jQuery脚本”。什么脚本?如果我们不知道我们在处理什么,我们是不可能帮助你的。这是针对每个通过CMS上传到网站的img。我尝试过的一些脚本,尝试替换包括文件在内的所有src。这是我不想要的,因为这些文件通过CMS命名很奇怪。我只想用静态代码替换任何www。此代码将只替换“www”部分。如果你想专门针对上传的图像,你需要一些方法来区分它们,或者通过CSS选择器,或者通过URL的差异。我只是尝试了这些代码,但似乎什么都没做。@Pezmo在这个页面上工作。如果您提供一些示例,说明HTML现在是什么样子,以及您希望它是什么样子,那么我可以调整代码。也就是说,在服务器端处理这个问题可能更好。如果你使用JavaScript,当页面加载时,用户可能会看到断断续续的图像。我同意,我搜索了Google,在这里,我能找到的只是使用onClick的jQuery脚本,或者如果用户做了什么。PHP会更好,因为它是服务器端,但我没有经验的正则表达式等,我需要它改变src的前面提到的从www.static。该文件不需要移动,因为它与所有其他图像位于同一文件夹中,但CMS使用www.而不是静态。上传时无法将其更改为上传到www.domain.com/images,但路径为static.domain.com(CNAME非A)。如果src显示static.domain.com/images/image.jpg,则图像上没有ID或类,但父div上有。但是对于父DivsOk有几个ID,我不确定我是否朝着正确的方向前进,但是在没有解释我试图做什么之后,我已经离开并做了更多的研究,我认为我需要使用的是PHP DOM解析器。我需要做的是-加载幻灯片放映所在的include文件查找所述文件中的每个img标记将其分解以获取文件名和扩展名使用新路径设置src属性,文件名和扩展名使用新文件覆盖旧的include文件到目前为止,我已经获得了该文件,但以前从未使用过,所以我有点丢失。
$doc=新文档()$doc->loadHTMLFile('../includes/slides.php');foreach($doc->getElementsByTagName('img')作为$img){$img->getAttribute('src');$img->setAttribute('src'),'http://static.domain.com/images/ +$filename');$doc->saveHTMLFile('../includes/slides.php');退出;}