Dedecms 키워드 교체 계획

little bottle
풀어 주다: 2023-04-06 11:40:02
앞으로
2578명이 탐색했습니다.

이 글은 주로 dedecms 키워드 교체 계획에 대해 설명합니다. 빈도에 따라 먼저 롱테일 키워드를 교체한 다음 주요 키워드를 교체하세요. 이 글에는 관심 있는 친구들이 알아볼 수 있는 내용이 있습니다.

문제: dedecms의 문서 키워드 대체 기능을 사용하면 교차 대체가 발생합니다

예:

롱테일 키워드 1: 남성이 황금국화를 마시면 어떤 이점이 있나요?

롱테일 키워드 2: 황금 국화를 마시면 어떤 효능이 있나요?

메인 키워드 3 : 황금 국화

시스템 기본 기능 사용 시, 메인 키워드 교체 시 위에서 교체된 롱테일 키워드는 "황금 국화"가 되었습니다. 또한 교체되어 원래의 롱테일 키워드 앵커 텍스트가 삭제됩니다.

해결책:

1. 먼저 바꿀 키워드를 다음과 같이 바꾸세요.

키워드 1: '#####0#####'
키워드 2: '#####2 ## ###'
키워드 3:'#####3#####'
위 교체 작업을 수행할 때 다음과 같이 키워드에 해당하는 앵커 텍스트를 저장해야 합니다.
'## ## #0#####' --> 키워드 1의 앵커 텍스트
'#####1#####' --> 키워드 2의 앵커 텍스트
'#### #2## ###' --> 키워드 3의 앵커 텍스트를 모두 교체한 후 드디어 복원하겠습니다. 여기서는 주로 수정합니다: include/arc.archives.class.php 파일
수정 부분 다음과 같습니다.

//高亮专用, 替换多次是可能不能达到最多次
function _highlight($string, $words, $result, $pre) {
    global $cfg_replace_num;
    //     if (version_compare(PHP_VERSION, '5.5.0', '>='))
    //     {
    //         $string = $string[0];
    //         $pre = $pre[0];
    //     }
    
    //修改 Start
    $replaced_array = array();
    $replaced_tiems = 0;
    //修改 End
    
    $string = str_replace('\"', '"', $string);
    if ($cfg_replace_num > 0) {
        foreach ($words as $key => $word) {
            if ($GLOBALS['replaced'][$word] == 1) {
                continue;
            }
            //修改 Start
            $replace_string = '#####' . $replaced_tiems . '#####';
            $replaced_array[$replace_string] = $result[$key];
            $string = preg_replace("#" . preg_quote($word) . "#", $replace_string, $string, $cfg_replace_num);
            $replaced_tiems+= 1;
            //修改  End
            //             $string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num);
            if (strpos($string, $word) !== FALSE) {
                $GLOBALS['replaced'][$word] = 1;
            }
        }
        //修改 Start
        foreach ($replaced_array as $k => $v) {
            $string = str_ireplace($k, $v, $string);
        }
        //修改  End

    } else {
        $string = str_replace($words, $result, $string);
    }
    return $pre . $string;
}
로그인 후 복사

참고: 여기서는 백그라운드에서 문서 키워드의 빈도를 수정해야 합니다. 기본값은 빈도가 높은 키워드를 먼저 바꾸고 나중에 빈도가 낮은 키워드를 바꾸는 것입니다.

관련 튜토리얼:

PHP 비디오 튜토리얼

위 내용은 Dedecms 키워드 교체 계획의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿