Maison >développement back-end >tutoriel php >plan de remplacement de mots clés dedecms

plan de remplacement de mots clés dedecms

little bottle
little bottleavant
2019-04-26 11:55:292605parcourir

Cet article parle principalement du plan de remplacement des mots-clés dedecms. Selon la fréquence, remplacez d'abord les mots-clés à longue traîne, puis remplacez les mots-clés principaux. Cet article a une certaine valeur de référence.

Problème : lors de l'utilisation de la fonction de remplacement de mot-clé de document de dedecms, cela entraînera une substitution croisée

Par exemple :

Mot-clé longue traîne 1 : Les hommes boivent de la soie dorée Quels sont les bienfaits du chrysanthème doré ?

Mot-clé longue queue 2 : Quels sont les bienfaits de boire du chrysanthème royal en soie dorée ?

Mot-clé principal 3 : chrysanthème royal en soie dorée

Utilisez le système Dans la fonction par défaut, lors du remplacement du mot-clé principal, le « Golden Thread Royal Chrysanthemum » dans le mot-clé à longue traîne qui a été remplacé ci-dessus sera également remplacé, détruisant ainsi le texte d'ancrage du mot-clé à longue traîne d'origine.

Solution :

1. Remplacez d'abord le mot-clé à remplacer par quelque chose comme :

Mot-clé 1 : '#####0#####'
Mot clé 2 : '#####2#####'
Mot clé 3 : '#####3#####'
Lors de l'exécution de l'opération de remplacement ci-dessus, nous devons enregistrez le texte d'ancrage correspondant au mot-clé, tel que :
'#####0#####' --> Texte d'ancrage du mot-clé 1
'#####1 ### ##' --> Le texte d'ancrage du mot-clé 2
'#####2#####' --> Le texte d'ancrage du mot-clé 3
et ainsi de suite une fois tous les remplacements terminés , on le restaure finalement.
Ici, on modifie principalement : le fichier include/arc.archives.class.php
La partie modifiée est la suivante :

//高亮专用, 替换多次是可能不能达到最多次
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;
}

Remarque : Ici, nous devons modifier le document en arrière-plan La fréquence des mots-clés, la valeur par défaut est de remplacer d'abord ceux à haute fréquence, et de remplacer ceux à basse fréquence plus tard

Tutoriels associés : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer