2015-07-22 87 views
0

我需要更改某些地方缺少網站網址的文本。僅當缺少網站url時才添加網站

假設我有一個很大的html代碼,在那個代碼中有一些地方網站url丟失了,但是它有一些地方。

例子:/blog/images/image.png需要改變http://www.domain.com/blog/images/image.png

所以我曾嘗試下面的代碼,

$html=preg_replace('%/blog/%','http://www.domain.com/blog/',$html); 

但有了這個代碼,它改變以下線以及,

http://www.domain.com/blog/images/image.png -> http://www.domain.com/http://www.domain.com/blog/images/image.png 

應該如何我跳過那個?

基本上我需要添加網站的網址(http://www.domain.com/)只有在一些地方丟失。

+0

聲明全局變量$ base_url =「http://www.domain.com/」並使用$ base_url無論你想要的位置 – Sagar

+0

@Sagar這個HTML文本來自外部來源,我不是那個構造它的人這就是爲什麼我需要改變它。 –

+0

@JanithChinthana請查看我的答案。 – Hassaan

回答

1

它有點棘手。只需從網址中刪除http://www.domain.com/,然後手動添加http://www.domain.com/即可。

嘗試

$html = "http://www.domain.com/".str_ireplace('http://www.domain.com/','',$html); 

OR

求值,其中http://www.domain.com/http://www.domain.com/http://www.domain.com/

添加兩次並更換嘗試

$html = preg_replace('%/blog/%','http://www.domain.com/blog/',$html); 
$html = str_ireplace('http://www.domain.com/http://www.domain.com/','http://www.domain.com/',$html); 

OR(由@anonymous溶液)

$html = preg_replace('@(http://www.domain.com)?/[email protected]', 'http://www.domain.com/blog', $html) 
+0

它是有道理的,我會嘗試 –

+1

或者你可以做'preg_replace('@(http://www.domain.com)?/ blog @ iU','http://www.domain.com/blog' ,$ html)' – anonymous

+0

@anonymous你可以添加這個作爲答案,這是我真正需要的 –