2013-07-11 85 views
0

我有一個字符串來自數據庫,如下所示。我想將下面的文本中的img src更改爲./upload-files/<filename>而不是../upload-files/<filename>替換描述中的圖像的src

<p><span style="text-decoration: line-through;"> 
<img style="float: left; margin-left: 5px; margin-right: 5px;" src="../upload-files/teddybear.jpg"> 
</span></p> 

所以基本上我要像使用當前的目錄,而不是父目錄../ 我怎樣才能做到這一點的? preg_replace在這裏是正確的工具?

+1

'str_replace函數('src =「..','src =」',$ string);' –

+0

with regex,'preg_replace('/^\.\./','',$ img_url)',其中$ img_url是你的圖像路徑。如果您的字符串中多次使用'..',請使用'str_replace'。 – machineaddict

+0

它可能存在不止一次的描述文字... :( –

回答

0

如果您使用的是中介變量來存儲你的形象,你可以使用:

$img_url = '../upload-files/teddybear.jpg'; 

$img_url = print_r(preg_replace('/^\.\./', '.', $img_url)); 

<p><span style="text-decoration: line-through;"> 
<img style="float: left; margin-left: 5px; margin-right: 5px;" src="<?php echo $img_url;?>"> 
</span></p> 

,如果你想更換../一串HTML裏面,使用:

$my_html = '<p><span style="text-decoration: line-through;"> 
<img style="float: left; margin-left: 5px; margin-right: 5px;" src="../upload-files/teddybear.jpg"> 
</span></p>'; 

print_r(preg_replace('/"\.\./', '".', $my_html));