2017-02-16 55 views
0

我想改變:_正則表達式圖像名稱網址

<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函數的第二行應該是你需要的一切... – WizPip

+0

編輯,更新,如何更換形象的名字只 – dexter

回答

3

如果您只是想從image:name.jpg更改爲​​您可以使用類似於:

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

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

    echo $name; 

這將呼應​​

您也可以根據this入門使用str_replace這應該是更快然後preg_replace。這將是這樣的:

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

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

     echo $name; 

而這也將呼應​​

如果要更換整個URL保持:http://....可以使用\K

根據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