2016-04-08 5 views
0

こんにちは私はHTMLで1行からイメージ名を取得したいと思います。私は、このラインを持っ例えばPHPでやっているイメージ名を取得するRegex PHP

私はジュースが bottle2.jpgとSS-button.pngを取得し、取得し {#のCDNPath番号} IMG/imagenameのと置き換えたい
<img src="index_files/bottle2.jpg" name="product ds Grodsdwth" class="pullleft"> 

<img title="" src="index_files/ss-button.png" class="step-btn" alt=""></a> 

この結果

<img title="" src="{#CDNPath#}img/ss-button.png" class="step-btn" alt=""></a> 

私はこの正規表現を持っているが、それは動作しません:

([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif)) 

私はこれがエスケープで混乱していますと、p atters私はこの正規表現を使用してみてくださいあなたたちと

+0

何か? https://regex101.com/r/oA0rV6/1 –

答えて

1

を感謝しますしてください

(<img.*?src=")((?:\w+\/)+?)([\w-]+\.(?:jpg|jpeg|png|gif))" 
  • 1st [グループ店舗オープン<imgおよびその他の属性、src="
  • 2ndキャプチャをキャプチャグループには、画像フォルダ(index_files/またはindex_files/a/
  • )が保存されます。
  • 3rdキャプチャグループは、画像名

と交換してください:このような

$1{#CDNPath#}img/$3" 

Live Demo on Regex101

+0

タグの末尾に疑問がありますsrc欠けているものがありますか? –

+1

@MarcoPerezはい、置き換えの最後に '' 'を付けるだけです肯定的な先取りを使用する - RegExの最後の '"を '(?=") 'に置き換え、置き換えを同じに保つ)。私は答えを更新しました – Druzion

+0

はい男性確信!!ありがとうございました。私のために難しいです。Regex私はチュートリアルのためにlokkingしています。いくつかの表現はとても難しいです。 –

関連する問題