function ReplaceRemoteUrl($sHTML, $sExt) { $s_Content = $sHTML; $s_Match = "/(http|https|ftp|rtsp|mms):(\\/\\/|\\\\){1}(([A-Za-z0-9_-])+[.]){1,}([A-Za-z0-9]{1,5})\\/(\\S+\\.(" . $sExt . "))/i"; if (!preg_match_all($s_Match, $s_Content, $a_Matches)) { return $s_Content; } $s_SameSiteDomain = ""; if ($GLOBALS["sBaseUrl"] == "3") { $s_SameSiteDomain = GetDomainFromUrl($GLOBALS["sSetContentPath"]); } else { $s_SameSiteDomain = strtolower($_SERVER["SERVER_NAME"]); } for ($i = 0; $i < count($a_Matches[0]); $i++) { $s = $a_Matches[0][$i]; $b_SameSiteUrl = false; if (GetDomainFromUrl($s) == $s_SameSiteDomain) { $b_SameSiteUrl = true; } if (!$b_SameSiteUrl) { $a_RepeatRemote[] = $s; } } $a_RemoteUrl = array_unique($a_RepeatRemote); $nFileNum = 0; for ($i = 0; $i < count($a_RemoteUrl); $i++) { $SaveFileType = substr($a_RemoteUrl[$i], strrpos($a_RemoteUrl[$i], ".") + 1); $SaveFileName = GetRndFileName($SaveFileType); if (SaveRemoteFile($SaveFileName, $a_RemoteUrl[$i])) { makeImageSY($GLOBALS["sUploadDir"], $SaveFileName); $nFileNum = $nFileNum + 1; if ($nFileNum > 1) { $GLOBALS["sOriginalFileName"] .= "|"; $GLOBALS["sSaveFileName"] .= "|"; $GLOBALS["sPathFileName"] .= "|"; } $GLOBALS["sOriginalFileName"] .= substr($a_RemoteUrl[i], strrpos($a_RemoteUrl[i], "/") + 1); $GLOBALS["sSaveFileName"] .= $SaveFileName; $GLOBALS["sPathFileName"] .= $GLOBALS["sContentPath"] . $SaveFileName; $s_Content = str_replace($a_RemoteUrl[$i], $GLOBALS["sContentPath"] . $SaveFileName, $s_Content); } } return $s_Content; }
function ReplaceRemoteUrl($sHTML, $sExt) { $s_Content = $sHTML; $s_Match = "/(http|https|ftp|rtsp|mms):(\\/\\/|\\\\){1}(([A-Za-z0-9_-])+[.]){1,}([A-Za-z0-9]{1,5})\\/(\\S+\\.(" . $sExt . "))/i"; if (!preg_match_all($s_Match, $s_Content, $a_Matches)) { return $s_Content; } for ($i = 0; $i < count($a_Matches[0]); $i++) { $a_RepeatRemote[] = $a_Matches[0][$i]; } $a_RemoteUrl = array_unique($a_RepeatRemote); $nFileNum = 0; for ($i = 0; $i < count($a_RemoteUrl); $i++) { $SaveFileType = substr($a_RemoteUrl[$i], strrpos($a_RemoteUrl[$i], ".") + 1); $SaveFileName = GetRndFileName($SaveFileType); if (SaveRemoteFile($SaveFileName, $a_RemoteUrl[$i])) { $nFileNum = $nFileNum + 1; if ($nFileNum > 1) { $GLOBALS["sOriginalFileName"] .= "|"; $GLOBALS["sSaveFileName"] .= "|"; $GLOBALS["sPathFileName"] .= "|"; } $GLOBALS["sOriginalFileName"] .= substr($a_RemoteUrl[i], strrpos($a_RemoteUrl[i], "/") + 1); $GLOBALS["sSaveFileName"] .= $SaveFileName; $GLOBALS["sPathFileName"] .= $GLOBALS["sContentPath"] . $SaveFileName; $s_Content = str_replace($a_RemoteUrl[$i], $GLOBALS["sContentPath"] . $SaveFileName, $s_Content); } } return $s_Content; }