php如何实现相对路径转绝对路径-PHP问题

资源魔 13 0

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 php教程 php故障解决 php使用问题 相对路径 绝对路径

抱歉,评论功能暂时关闭!