回答編集履歴
1
前回のでは、文字列に複数のimgタグがあった際に同じファイル名に置き換わってしまったので、修正しました
test
CHANGED
@@ -1,16 +1,18 @@
|
|
1
|
-
preg_match("/<img [^>]*src\s*=\s*[\"']?([^\"'> ]+)/i", $path,$
|
1
|
+
$pregCount = preg_match_all("/<img [^>]*src\s*=\s*[\"']?([^\"'> ]+)/i", $path,$solo);
|
2
2
|
|
3
|
-
$
|
3
|
+
for($i=0;$i<$pregCount;$i++) {
|
4
4
|
|
5
|
+
$newPath= "";
|
5
6
|
|
7
|
+
$pathName = explode("/",$solo[1][$i]);//imgの属性値を取り出してスラッシュで分割
|
6
8
|
|
7
|
-
$
|
9
|
+
$newPath = end($pathName);//ファイル名だけを取得
|
8
10
|
|
9
|
-
$
|
11
|
+
$newPath = "images/".$newPath;//相対パスの生成
|
10
12
|
|
13
|
+
$path = str_replace($solo[1][$i],$newPath,$path);
|
11
14
|
|
12
|
-
|
13
|
-
|
15
|
+
}
|
14
16
|
|
15
17
|
|
16
18
|
|