Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}