2017-02-16 9 views
0

私は、私は、この正規表現を持っているが、それは動作しません_正規表現イメージ名のURL

<img src="http://domainname.com/image:name.jpg"> 

のような出力

<img src="http://domainname.com/image_name.jpg"> 

:を変更したい:あなたの場合は

$f1content = preg_replace('/\<img src="\/\/(.*\.jpg"|.jpeg"|.gif" |.png"|.jpg">|.jpeg">|.gif">|.png">)/','/1',$content) 

$result = str_replace(':', '_', $f1content); 
+0

':'は正規表現ではありません。正規表現は –

+0

です。str_replaceの2行目は、すべて必要なものにする必要があります。 – WizPip

+0

画像名を置き換える方法 – dexter

答えて

3

image:name.jpgから​​に変更したい場合は、次のようなものを使用してください:

<?php 
    $name = "image:name.jpg"; 

    $name = preg_replace('/\:/','_',$name); 

    echo $name; 

これは​​

をエコーし​​ますまたthisエントリによると、速くpreg_replaceその後、あるべきstr_replaceを使用することができます。どのようなものになるだろう:

<?php 
     $name = "image:name.jpg"; 

     $name = str_replace(':','_',$name); 

     echo $name; 

そして、あなたはあなたが\Kを使用することができますhttp://....:を維持し、全体URLを交換したい場合は、これはまた​​

をエコーし​​ます。 Maroun Marounによると

\Kは一致試行が この位置で開始することをふりをするエンジンに指示します。次のコードで

<?php 
    $name = '<img src="http://domainname.com/image:name.jpg">'; 

    $name = preg_replace('/[^http:]\K(:)/', '_', $name); 

    echo $name; 

それは<img src="http://domainname.com/image_name.jpg">をエコーし​​ます。作業例hereを見ることができます。

+0

名前の変更方法、他人の名前なし、私がこれを使用する場合、出力= http_domain.com/image_name.jpg – dexter

+0

私の質問を編集する – dexter

+0

@dexter私の更新された答えを確認してください – rafaelcpalmeida