2013-10-04 100 views
1

我需要更換curl拍攝的頁面中的URL並添加正確的鏈接。我的PHP代碼捲曲是:preg_replace更改鏈接href值,但不是在src

<?php 

$string = '<a href="http://host.org"><img src="./sec.png"></a>'; 

$string = preg_replace('/href="(http:\/\/([^\/]+)\/)?([^"]+)"/', "href=\"http://google.com/\\3\"", $string); 

echo $string; 

?> 

當鏈接爲「a」它切割所有鏈接,只留下href的值。

//from 
<a href="http://host.org"><img src="./sec.png"></a> 

//to BUGgg when href fix make : 
<a href="http://google.com/./sec.png"></a> 

任何機構都可以幫助修復它。

+0

[從HREF預浸\ _replace變化鏈接](可能重複http://stackoverflow.com/問題/ 19190180/preg-replace-change-link-from-href) – Jerry

+0

哦,不存在重複,第一個是preg_match來查找是否存在http鏈接,我已將其切斷,以使問題更簡單。謝謝。 – Eugenia

回答

1

以下的preg_replace應該工作:

preg_replace('/href="(http:\/\/[^\/"]+\/?)?([^"]*)"/', "href=\"http://google.com/\\2\"", $result); 
1

從你的正則表達式中刪除此多餘的部分:([^/]+)/