2010-08-19 93 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(/^.+\// , ''));