获取图像来源

时间:2010-08-19 06:57:14

标签: javascript regex

我有下一个字符串,如:

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

如何在javascript中获取图像文件名?我只知道PHP正则表达式。扩展文件可能会有所不同。

结果必须是:avatar.jpg

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分: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>

答案 2 :(得分:1)

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

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