php實作相對路徑轉絕對路徑的方法:可以透過preg_replace()函數來實作。 preg_replace()函數可以執行一個正規表示式的搜尋和取代。若搜尋目標是字串數組,則函數傳回一個數組。
我們可以透過preg_replace()函數來實作相對路徑轉絕對路徑。
(推薦學習:php教學)
函數介紹
preg_replace() 函數執行一個正規表示式的搜尋和取代。
函數語法
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜尋 subject 中符合 pattern 的部分, 以 replacement 取代。
參數說明:
$pattern: 要搜尋的模式,可以是字串或字串陣列。
$replacement: 用於替換的字串或字串陣列。
$subject: 要搜尋已取代的目標字串或字串陣列。
$limit: 可選,對於每個模式用於每個 subject 字串的最大可替換次數。預設是-1(無限制)。
$count: 可選,為替換執行的次數。
傳回值
如果 subject 是一個數組, preg_replace() 傳回一個數組, 其他情況下傳回一個字串。
如果匹配被查找到,替換後的 subject 被返回,其他情況下 返回沒有改變的 subject。如果發生錯誤,則傳回 NULL。
程式碼實作:
//相对路径转化成绝对路径 <? function relative_to_absolute($content, $feed_url) { preg_match('/(http|https|ftp):///', $feed_url, $protocol); $server_url = preg_replace("/(http|https|ftp|news):///", "", $feed_url); //开源OSPhP.COM.CN $server_url = preg_replace("//.*/", "", $server_url); if ($server_url == '') { return $content; } if (isset($protocol[0])) { //开源代码OSPhP.COm.CN $new_content = preg_replace('/href="//', 'href="'.$protocol[0].$server_url.'/', $content); $new_content = preg_replace('/src="//', 'src="'.$protocol[0].$server_url.'/', $new_content); //开源OSPhP.COM.CN } else { $new_content = $content; } return $new_content; } ?>
以上是php如何實現相對路徑轉絕對路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!