2010-08-19 95 views
2

的来源我有一个下一个字符串,如:获取图像

<img src="../uplolad/commission/ranks/avatar.jpg' . $row[$c_name] .'" width="50" height="50"/> 

我怎样才能在javascript中的图像文件名?我只知道PHP正则表达式。扩展文件可能会有所不同。

的结果必然是:avatar.jpg

回答

6

正则表达式是不理想这一点。 JavaScript可以比长字符串更容易地将HTML作为不同的对象进行遍历。如果你能确定由什么画面,通过添加一个ID给它,或者ID来与作为唯一的图像的父母说,你就可以从脚本访问图像:

var myImage = document.getElementById('imgAvatar'); // or whatever means of access 
var src = myImage.src; // will contain the full path 

if(src.indexOf('/') >= 0) { 
    src = src.substring(src.lastIndexOf('/')+1); 
} 

alert(src); 

而且如果要编辑,你可以做到这一点一样好

myImage.src = src.replace('.jpg', '.gif'); 
+0

谢谢。这是工作。 – pltvs 2010-08-19 07:32:44

1

取它下面的代码,它可以帮助你想要得到的东西。

<script type="text/javascript"> 
    function getImageName(imagePath) { 
     var objImage = new RegExp(/([^\/\\]+)$/); 
     var getImgName = objImage.exec(imagePath); 
     if (getImgName == null) { 
      return null; 
     } 
     else { 
      return getImgName[0]; 
     } 
    } 
</script> 


<script> 
    var mystring = getImageName("http://www.mypapge.mm/myimage.png") 
    alert(mystring) 
</script> 
1

这里是David Hedlund's answer较短的变体,它使用正则表达式:

var myImage = document.getElementById('imgAvatar'); // or whatever means of access 
alert(myImage.src.replace(/^.+\// , ''));