假設你的網站內容存儲在數據庫裡,或以文本文件形式存在,URL 格式如下:
http://old-domain.com/path/to/page
https://old-domain.com/another/page
如果需要替換成新的域名,比如https://m66.net ,我們可以:
定義一個匹配舊域名URL 的正則表達式。
利用mb_eregi_replace替換成新域名URL。
保存替換後的內容。
<?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