ホームページ > バックエンド開発 > PHPの問題 > PHPで相対パスを絶対パスに変換する方法

PHPで相対パスを絶対パスに変換する方法

王林
リリース: 2023-03-02 09:04:02
オリジナル
3740 人が閲覧しました

php メソッドで相対パスを絶対パスに変換します。これは preg_replace() 関数を通じて実現できます。 preg_replace() 関数は、正規表現の検索と置換を実行できます。検索対象が文字列配列の場合、この関数は配列を返します。

PHPで相対パスを絶対パスに変換する方法

#preg_replace() 関数を使用して、相対パスを絶対パスに変換できます。

(推奨学習: php チュートリアル)

関数の紹介

preg_replace() 関数は、正規表現の検索と置換を実行します。

関数構文

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
ログイン後にコピー

件名内のパターンに一致する部分を検索し、置換に置き換えます。

パラメータの説明:

  • $pattern: 検索するパターン。文字列または文字列配列にすることができます。

  • $replacement: 置換に使用される文字列または文字列配列。

  • $subject: 検索および置換されるターゲット文字列または文字列配列。

  • $limit: オプション。パターンごとの各件名文字列の置換の最大数。デフォルトは -1 (制限なし) です。

  • $count: オプション、置換が実行される回数。

戻り値

subject が配列の場合、preg_replace() は配列を返し、それ以外の場合は文字列を返します。

一致するものが見つかった場合は、置換された件名が返され、そうでない場合は、変更されていない件名が返されます。エラーが発生した場合は NULL が返されます。

コード実装:

//相对路径转化成绝对路径
<?
function relative_to_absolute($content, $feed_url) { 
preg_match(&#39;/(http|https|ftp):///&#39;, $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 == &#39;&#39;) { 
        return $content; 
    } 
    if (isset($protocol[0])) {
//开源代码OSPhP.COm.CN
$new_content = preg_replace(&#39;/href="//&#39;, &#39;href="&#39;.$protocol[0].$server_url.&#39;/&#39;, $content); 
$new_content = preg_replace(&#39;/src="//&#39;, &#39;src="&#39;.$protocol[0].$server_url.&#39;/&#39;, $new_content);  //开源OSPhP.COM.CN
    } else { 
$new_content = $content; 
    } 
    return $new_content; 
} 
?>
ログイン後にコピー

以上がPHPで相対パスを絶対パスに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート