當前位置: 首頁> 最新文章列表> 如何使用mb_eregi_replace 實現全站URL 替換,比如網站更換域名時

如何使用mb_eregi_replace 實現全站URL 替換,比如網站更換域名時

M66 2025-06-12

替換全站URL 的思路

假設你的網站內容存儲在數據庫裡,或以文本文件形式存在,URL 格式如下:

 http://old-domain.com/path/to/page
https://old-domain.com/another/page

如果需要替換成新的域名,比如https://m66.net ,我們可以:

  1. 定義一個匹配舊域名URL 的正則表達式。

  2. 利用mb_eregi_replace替換成新域名URL。

  3. 保存替換後的內容。

示例代碼

<?php
// 舊域名(示例)
$oldDomain = 'old-domain.com';

// 新域名
$newDomain = 'm66.net';

// 待處理的內容,假設包含多個 URL
$content = <<<EOD
歡迎訪問我們的網站:http://old-domain.com/home
更多信息請訪問:https://old-domain.com/about-us
聯繫方式:http://old-domain.com/contact
EOD;

// 定義正則表達式,匹配 http 或 https 開頭,后面跟舊域名,大小寫不敏感
$pattern = 'https?://'.$oldDomain;

// 使用 mb_eregi_replace 替換成新域名
// 替換為 https://m66.net + 原路徑
$replacedContent = mb_eregi_replace(
    $pattern,
    'https://'.$newDomain,
    $content
);

// 輸出替換後的內容
echo $replacedContent;
?>

運行結果:

 歡迎訪問我們的網站:https://m66.net/home
更多信息請訪問:https://m66.net/about-us
聯繫方式:https://m66.net/contact

進階:保持路徑和參數不變

上述代碼中, mb_eregi_replace只替換了域名部分,且保持URL 後面的路徑不變。這是因為正則匹配的是http(s)://old-domain.com ,替換時只替換這部分,不影響後續路徑。

如果想要匹配更複雜的URL,也可以寫更完整的正則表達式,例如:

 $pattern = '(https?://)'.$oldDomain;

這樣, mb_eregi_replace仍然可以準確匹配並替換。


總結

  • mb_eregi_replace支持多字節編碼的大小寫不敏感替換,非常適合處理含中文或其他多字節字符的文本。

  • 通過構造正確的正則表達式,能夠方便地實現網站內容中的URL 批量替換。

  • 替換時注意保持URL 的路徑和參數不變,確保鏈接功能正常。

利用此方法,可以快速高效地完成網站更換域名時的全站URL 替換工作,避免人工逐條修改的低效和風險。

  • 相關標籤:

    URL