[英]Replace filename with path and extension
我有一些帶有圖像的文本,其中沒有路徑和擴展名,例如存儲在db中:
<img src="BUS-icon">
或(如果已經具有路徑和擴展名)
<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
。
這應該工作:
var filename=$1.match(/(src=['"])?(.+\/)?([^."']+)/)[3]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.