将文件名替换为路径和扩展名
Replace filename with path and extension
我有一些带有图像的文本,没有路径和扩展名,例如存储在db:中
<img src="BUS-icon">
OR(如果已经有路径和扩展)
<img src=".../images/thumbs/BUS-icon.png">
我需要将文件名替换为前缀和扩展名(如果尚未添加),例如:
'some text <img src=".../images/thumbs/BUS-icon.png"> another text '.replace(/src=['|"](.*?)['|"]/ig
function($1){
var filename=$1.match(/DESIRED REGEXP/)
return 'src="../images/thumbs/'+filename[0]+'.png"';
}
);
我需要DESIRED REGEXP
来转换以下测试
image 1 <img src="BUS-icon1">
image 2 <img src='BUS-icon2.png'>
image 3 <img src="../images/thumbs/BUS-icon3.png">
image 4 <img src='abc/BUS-icon4.png'>
至
image 1 <img src="../images/thumbs/BUS-icon1.png">
image 2 <img src='../images/thumbs/BUS-icon2.png'>
image 3 <img src="../images/thumbs/BUS-icon3.png">
image 4 <img src='../images/thumbs/BUS-icon4.png'>
实际应用程序知道没有路径和扩展名的文件名,并用完整的路径替换src。
编辑:
This seems to be working so far :
text.replace(/src=['"](.*?)['"]/ig,function($1,$2){
var filename=$2.match(/(?:.+'/)?([^."']+)/)[1]
return 'src="../images/thumbs/'+filename+'.png"';
})
^(image's+'d+'s*<img's*src=["'])((?:(?!'.'.'/images|"|').)*?["']>)$
试试这个。替换为$1../images/$2
。请参阅演示。
http://regex101.com/r/dZ1vT6/18
这应该有效:
var filename=$1.match(/(src=['"])?(.+'/)?([^."']+)/)[3]
相关文章:
- TableExport jquery插件:文件名和扩展名问题
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 有人能告诉我如何在cent-os中打开扩展名为.dat的FIle吗
- 在上传之前,我可以在代码中的哪里将文件扩展名更改为小写
- TypeScript解释了各种文件扩展名
- 保存输入字段Chrome扩展名
- Web浏览器扩展名通用文件
- '的文件格式和扩展名;file.xls'don't与fileSaver.js匹配
- 如何通过chrome扩展名获取所有CSS和Javascript文件
- 如何从 URL 中获取文件名和扩展名
- 在javascript中检查文件扩展名的问题
- 在 iFrame 中注入 JS 文件,通过 Google chrome 扩展名中的 ContentScript 进行
- 如何使用office.js检查未保存文件的具体文件扩展名
- 用于检查文件扩展名不工作的Javascript If语句
- 如何从chrome扩展名读取文件
- 忽略文件扩展名的正则表达式
- PhantomJS无法打开扩展名未知的本地文件
- 将文件名替换为路径和扩展名