IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

bbcode remplacer mots par lien sauf si mots contenus dans lien [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut bbcode remplacer mots par lien sauf si mots contenus dans lien
    Bonjour,

    Je cherche à remplacer des mots par un lien sauf si ces mots sont contenus dans un lien. Le texte source est déjà en bbcode.
    Voici ou j'en suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    $message = "
    [p]Ligne 1 Monument Valley[/p]
    [p]Ligne 2 [a href=../arizona/grand-canyon/grand-canyon.php target=_blank]Grand Canyon[/a][/p]
    ";
     
     
    function liens_automatiques($chaine,$mot_a_trouver,$remplacement){
     
        $tab = preg_split('`(<\w+.*?>)`U',$chaine,-1,PREG_SPLIT_DELIM_CAPTURE);
     
        foreach($tab as $key=>$val){
            if(preg_match('`^<\w+`',$val)) {
                $tab[$key] = $val;
            }
            else {
                $tab[$key] = preg_replace('`'.$mot_a_trouver.'`i',$remplacement,$val);
            }
        }
        return implode($tab);
     
    }
     
     
     
    $remplacer = preg_replace( "/arizona/i", '[a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a]', $message);    
    $message = preg_replace( "/grand canyon|grd canyon/i", '[a target=_blank href=../arizona/grand-canyon/grand-canyon.php]Grand Canyon[/a]', $message);
    $message = preg_replace( "/monument valley/i", '[a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a]', $message);    
     
    echo "<pre>".$message."</pre>";
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [p]Ligne 1 [a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a][/p]
    [p]Ligne 2 [a href=../arizona/grand-canyon/grand-canyon.php target=_blank][a target=_blank href=../arizona/grand-canyon/grand-canyon.php]Grand Canyon[/a][/a][/p]
    Comme vous le constatez :
    1. Ligne 1 = Correcte -> Monument Valley est bien transformé en lien
    2. "Ligne 2 = Incorrecte -> Grand Canyon est transformé en lien (cette ligne ne devrai pas être modifiée car il s'agit déjà d'un lien)


    Un peu d'aide serai la bienvenue

    Merci d'avance à tous ceux qui se pencheront sur mon code
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire comme suit, mais nul doute que les gourous des regexp trouveront une meilleure solution.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    $message = "
    [p]Ligne 1 Monument Valley[/p]
    [p]Ligne 2 [a href=../arizona/grand-canyon/grand-canyon.php target=_blank]Grand Canyon[/a][/p]
    ";
     
    if (!preg_match("/([\]])\s*(grand canyon|grd canyon)(\s*[\[]\/a\])/i",$message))
    {
        $message   = preg_replace( "/(grand canyon|grd canyon)/i", '[a target=_blank href=../arizona/grand-canyon/grand-canyon.php]Grand Canyon[/a]', $message);
    }
    if (!preg_match("/([\]])\s*(monument valley)(\s*[\[]\/a\])/i",$message))
    {
     $message   = preg_replace( "/monument valley/i", '[a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a]', $message);   
    } 
     
     
    echo "Résultat :<pre>".$message."</pre>";

    Donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Résultat :[p]Ligne 1 [a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a][/p]
    [p]Ligne 2 [a href=../arizona/grand-canyon/grand-canyon.php target=_blank]Grand Canyon[/a][/p]
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Solution qui fonctionne.
    Merci d'avoir pris du temps
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  4. #4
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut regex dans une fonction
    Bonjour,

    Alors voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
     
    function liens_automatiques($mot_a_trouver, $remplacement, $chaine){
     
        if (!preg_match("/([\]])\s*(".$mot_a_trouver.")(\s*[\[]\/a\])/i",$chaine)) {
            return preg_replace( "/(".$mot_a_trouver.")/i", $remplacement, $chaine);
        }
        else {
            return $chaine;
        }
     
    }
     
     
    // Le message original est en BBCODE
    $message = "
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    ";
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES ETATS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("alabama", '[a target=_blank href=../cartes/etat/1-carte-etat-alabama.php]Alabama[/a]', $message);    
    $message = liens_automatiques("alaska", '[a target=_blank href=../cartes/etat/2-carte-etat-alaska.php]Alaska[/a]', $message);    
    $message = liens_automatiques("arizona", '[a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a]', $message);    
    $message = liens_automatiques("arkansas", '[a target=_blank href=../cartes/etat/4-carte-etat-arkansas.php]Arkansas[/a]', $message);    
    $message = liens_automatiques("californie", '[a target=_blank href=../californie/parcs-nationaux-americain-californie.php]Californie[/a]', $message);    
    $message = liens_automatiques("colorado", '[a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a]', $message);    
    $message = liens_automatiques("dakota du nord|north dakota", '[a target=_blank href=../cartes/etat/11-carte-etat-dakota-du-nord.php]Dakota du Nord[/a]', $message);    
    $message = liens_automatiques("dakota du sud|south dakota", '[a target=_blank href=../dakota-sud/parcs-nationaux-americain-dakota-sud.php]Dakota du Sud [/a]', $message);    
    $message = liens_automatiques("floride", '[a target=_blank href=../cartes/etat/14-carte-informations-etat.php]Floride[/a]', $message);    
    $message = liens_automatiques("idaho", '[a target=_blank href=../cartes/etat/17-carte-etat-idaho.php]Idaho[/a]', $message);    
    $message = liens_automatiques("illinois", '[a target=_blank href=../cartes/etat/18-carte-etat-illinois.php]Illinois[/a]', $message);    
    $message = liens_automatiques("indiana", '[a target=_blank href=../cartes/etat/19-carte-etat-indiana.php]Indiana[/a]', $message);    
    $message = liens_automatiques("iowa", '[a target=_blank href=../cartes/etat/20-carte-etat-iowa.php]Iowa[/a]', $message);    
    $message = liens_automatiques("kansas", '[a target=_blank href=../cartes/etat/21-carte-etat-kansas.php]Kansas[/a]', $message);    
    $message = liens_automatiques("kentucky", '[a target=_blank href=../cartes/etat/22-carte-etat-kentucky.php]Kentucky[/a]', $message);    
    $message = liens_automatiques("louisiane|louisianne", '[a target=_blank href=../cartes/etat/23-carte-etat-louisiane.php]Louisiane[/a]', $message);    
    $message = liens_automatiques("michigan", '[a target=_blank href=../cartes/etat/27-carte-etat-michigan.php]Michigan[/a]', $message);    
    $message = liens_automatiques("minnesota", '[a target=_blank href=../cartes/etat/28-carte-etat-minnesota.php]Minnesota[/a]', $message);    
    $message = liens_automatiques("mississippi", '[a target=_blank href=../cartes/etat/29-carte-etat-mississippi.php]Mississippi[/a]', $message);    
    $message = liens_automatiques("missouri", '[a target=_blank href=../cartes/etat/30-carte-etat-missouri.php]Missouri[/a]', $message);    
    $message = liens_automatiques("montana", '[a target=_blank href=../montana/parcs-nationaux-americain-montana.php]Montana[/a]', $message);    
    $message = liens_automatiques("nebraska", '[a target=_blank href=../cartes/etat/32-carte-etat-nebraska.php]Nebraska[/a]', $message);    
    $message = liens_automatiques("nevada", '[a target=_blank href=../nevada/parcs-nationaux-americain-nevada.php]Nevada[/a]', $message);    
    $message = liens_automatiques("new york", '[a target=_blank href=../cartes/etat/36-carte-etat-new-york.php]New York[/a]', $message);    
    $message = liens_automatiques("nouveau mexique", '[a target=_blank href=../nouveau-mexique/parcs-nationaux-americain-nouveau-mexique.php]Nouveau Mexique[/a]', $message);    
    $message = liens_automatiques("ohio", '[a target=_blank href=../cartes/etat/38-carte-etat-ohio.php]Ohio[/a]', $message);    
    $message = liens_automatiques("oklahoma", '[a target=_blank href=../cartes/etat/39-carte-etat-oklahoma.php]Oklahoma[/a]', $message);    
    $message = liens_automatiques("oregon", '[a target=_blank href=../oregon/parcs-nationaux-americain-oregon.php]Oregon[/a]', $message);    
    $message = liens_automatiques("pennsylvanie", '[a target=_blank href=../cartes/etat/41-carte-etat-pennsylvanie.php]Pennsylvanie[/a]', $message);    
    $message = liens_automatiques("tennessee", '[a target=_blank href=../cartes/etat/43-carte-etat-tennessee.php]Tennessee[/a]', $message);    
    $message = liens_automatiques("texas", '[a target=_blank href=../texas/parcs-nationaux-americain-texas.php]Texas[/a]', $message);    
    $message = liens_automatiques("utah", '[a target=_blank href=../utah/parcs-nationaux-americain-utah.php]Utah[/a]', $message);    
    $message = liens_automatiques("washington", '[a target=_blank href=../washington/parcs-nationaux-americain-washington.php]Washington[/a]', $message);    
    $message = liens_automatiques("wisconsin", '[a target=_blank href=../cartes/etat/50-carte-etat-wisconsin.php]Wisconsin[/a]', $message);    
    $message = liens_automatiques("wyoming", '[a target=_blank href=../wyoming/parcs-nationaux-americain-wyoming.php]Wyoming[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES PARCS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("parcs nationaux", '[a target=_blank href=../parc-ouest-americain.php]Parcs ouest américain[/a]', $message);
    // Alaska
    $message = liens_automatiques("denali", '[a target=_blank href=../alaska/denali/denali.php]Denali National Park[/a]', $message);
    // Arizona
    $message = liens_automatiques("antelope|antelope canyon|antellope canyon", '[a target=_blank href=../arizona/antelope-canyon/antelope-canyon.php]Antelope Canyon[/a]', $message);
    $message = liens_automatiques("canyon de chelly", '[a target=_blank href=../arizona/canyon-chelly/canyon-chelly.php]Canyon de Chelly[/a]', $message);
    $message = liens_automatiques("casa grande ruins", '[a target=_blank href=../arizona/casa-grande-ruins/casa-grande-ruins.php]Casa Grande Ruins[/a]', $message);
    $message = liens_automatiques("chiricahua", '[a target=_blank href=../arizona/chiricahua/chiricahua.php]Chiricahua[/a]', $message);
    $message = liens_automatiques("grand canyon|grd canyon", '[a target=_blank href=../arizona/grand-canyon/grand-canyon.php]Grand Canyon[/a]', $message);
    $message = liens_automatiques("havasu falls|havasu fall", '[a target=_blank href=../arizona/havasu-falls/havasu-falls.php]havasu falls[/a]', $message);
    $message = liens_automatiques("horseshoe|horseshoe bend|horeseshoe bend", '[a target=_blank href=../arizona/horseshoe-bend/horseshoe-bend.php]Horseshoe Bend[/a]', $message);
    $message = liens_automatiques("meteor crater", '[a target=_blank href=../arizona/meteor-crater/meteor-crater.php]Meteor Crater[/a]', $message);
    $message = liens_automatiques("monument valley", '[a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a]', $message);    
    $message = liens_automatiques("navajo nm", '[a target=_blank href=../arizona/navajo-national-monument/navajo-national-monument.php]Navajo National Monument[/a]', $message);    
    $message = liens_automatiques("painted desert", '[a target=_blank href=../arizona/painted-desert/painted-desert.php]Painted desert[/a]', $message);    
    $message = liens_automatiques("petrified", '[a target=_blank href=../arizona/petrified-forest/petrified-forest.php]Petrified Forest National Park[/a]', $message);    
    $message = liens_automatiques("saguaro|sagaro", '[a target=_blank href=../arizona/saguaro/saguaro.php]Saguaro National Park[/a]', $message);
    $message = liens_automatiques("sunset crater", '[a target=_blank href=../arizona/sunset-crater/sunset-crater.php]Sunset Crater Volcano National Monument[/a]', $message);
    $message = liens_automatiques("coyote buttes|wave", '[a target=_blank href=../arizona/the-wave/the-wave.php]Coyote Buttes The Wave[/a]', $message);
    $message = liens_automatiques("walnut canyon|walnut", '[a target=_blank href=../arizona/walnut-canyon/walnut-canyon.php]Walnut Canyon[/a]', $message);    
    $message = liens_automatiques("wupatki", '[a target=_blank href=../arizona/wupatki/wupatki.php]Wupatki National Monument[/a]', $message);    
    // Californie
    $message = liens_automatiques("death valley np|death valley", '[a target=_blank href=../californie/death-valley/death-valley.php]Death Valley[/a]', $message);
    $message = liens_automatiques("vallée de la mort|valle de la mort", '[a target=_blank href=../californie/death-valley/death-valley.php]Vallée de la mort[/a]', $message);
    $message = liens_automatiques("john muir", '[a target=_blank href=../californie/john-muir/john-muir.php]John Muir National Historic Site[/a]', $message);
    $message = liens_automatiques("joshua tree np|joshua tree", '[a target=_blank href=../californie/joshua-tree/joshua-tree.php]Joshua Tree[/a]', $message);
    $message = liens_automatiques("kings kanyon", '[a target=_blank href=../californie/sequoia-kings-canyon/sequoia-kings-canyon.php]Kings Canyon[/a]', $message);
    $message = liens_automatiques("lassen|lassen volcanic", '[a target=_blank href=../californie/lassen-volcanic/lassen-volcanic.php]Lassen Volcanic National Park[/a]', $message);
    $message = liens_automatiques("mojave", '[a target=_blank href=../californie/mojave-national-preserve/mojave-national-preserve.php]Mojave National Preserve[/a]', $message);
    $message = liens_automatiques("redwood", '[a target=_blank href=../californie/redwood/redwood.php]Redwood National and State Parks[/a]', $message);
    $message = liens_automatiques("sequoia np|sequoia|séquoia", '[a target=_blank href=../californie/sequoia-kings-canyon/sequoia-kings-canyon.php]Sequoia[/a]', $message);    
    $message = liens_automatiques("yosemite|yos&eacute;mite", '[a target=_blank href=../californie/yosemite/yosemite.php]Yosemite[/a]', $message);    
    // Colorado
    $message = liens_automatiques("black canyon|gunnison", '[a target=_blank href=../colorado/black-canyon-of-the-gunnison/black-canyon-of-the-gunnison.php]Black Canyon Of The Gunnison[/a]', $message);
    $message = liens_automatiques("colorado nm", '[a target=_blank href=../colorado.php]Colorado National Monument[/a]', $message);
    $message = liens_automatiques("dinosaur|dinosor", '[a target=_blank href=../colorado/dinosaur/dinosaur.php]Dinosaur National Monument[/a]', $message);
    $message = liens_automatiques("great sand|great sand dunes", '[a target=_blank href=../colorado/great-sand-dunes/great-sand-dunes.php]Great Sand Dunes[/a]', $message);
    $message = liens_automatiques("mesa verde np|mesa verde", '[a target=_blank href=../colorado/mesa-verde/mesa-verde.php]Mesa Verde[/a]', $message);    
    $message = liens_automatiques("rocky mountain", '[a target=_blank href=../colorado/rocky-mountain/rocky-mountain.php]Rocky Mountain National Park[/a]', $message);    
    // Dakota sud
    $message = liens_automatiques("badlands np|badlands", '[a target=_blank href=../dakota-sud/badlands/badlands.php]Badlands[/a]', $message);
    $message = liens_automatiques("wind cave", '[a target=_blank href=../dakota-sud/wind-cave/wind-cave.php]Wind Cave National Park[/a]', $message);
    // Montana
    $message = liens_automatiques("glacier", '[a target=_blank href=../montana/glacier/glacier.php]Glacier National Park[/a]', $message);    
    // Nevada
    $message = liens_automatiques("valley of fire", '[a target=_blank href=../nevada/valley-of-fire/valley-of-fire.php]Valley of fire[/a]', $message);    
    // Nouveau Mexique
    $message = liens_automatiques("aztec ruins nm|aztec ruins", '[a target=_blank href=../nouveau-mexique/aztec-ruins/aztec-ruins.php]Aztec Ruins[/a]', $message);    
    $message = liens_automatiques("bandelier", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]Bandelier National Monument[/a]', $message);
    $message = liens_automatiques("carlsbad|carlsbad caverns", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]Carlsbad Caverns National Park[/a]', $message);
    $message = liens_automatiques("chaco|chaco canyon", '[a target=_blank href=../nouveau-mexique/chaco-canyon/chaco-canyon.php]Chaco Culture National Historical Park[/a]', $message);
    $message = liens_automatiques("malpais|el malpais", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]El Malpais National Monument[/a]', $message);
    $message = liens_automatiques("white sand|white sands", '[a target=_blank href=../nouveau-mexique/white-sands/white-sands.php]White Sands National Monument[/a]', $message);    
    // Oregon
    $message = liens_automatiques("crater lake", '[a target=_blank href=../oregon/crater-lake/crater-lake.php]Crater Lake National Park[/a]', $message);    
    // Texas
    $message = liens_automatiques("big bend", '[a target=_blank href=../texas/big-bend/big-bend.php]Big Bend National Park[/a]', $message);    
    // Utah    
    $message = liens_automatiques("arches|arches np", '[a target=_blank href=../utah/arches/arches.php]Arches National Park[/a]', $message);
    $message = liens_automatiques("bryce|bryce np|bryce canyon np|bryce canyon", '[a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a]', $message);
    $message = liens_automatiques("canyonlands np|canyonlands|canyonland", '[a target=_blank href=../utah/canyonlands/canyonlands.php]Canyonlands National Park[/a]', $message);
    $message = liens_automatiques("capitol reef|capitol reef  np", '[a target=_blank href=../utah/capitol-reef/capitol-reef.php]Capitol Reef National Park[/a]', $message);    
    $message = liens_automatiques("cedar break|cedar breaks", '[a target=_blank href=../utah/cedar-breaks/cedar-breaks.php]Cedar Breaks National Monument[/a]', $message);
    $message = liens_automatiques("dead horse point|dead horse", '[a target=_blank href=../utah/dead-horse-point/dead-horse-point.php]Dead horse Point[/a]', $message);
    $message = liens_automatiques("flaming gorge", '[a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a]', $message);
    $message = liens_automatiques("glen canyon|lake powell", '[a target=_blank href=../utah/glen-canyon-lake-powell/glen-canyon-lake-powell.php]Glen Canyon et le Lake Powell[/a]', $message);
    $message = liens_automatiques("goosenecks|gooseneck|goseneck", '[a target=_blank href=../utah/goosenecks/goosenecks.php]Goosenecks[/a]', $message);
    $message = liens_automatiques("kodakrome|kodacrome|kodachrome", '[a target=_blank href=../utah/kodachrome-basin/kodachrome-basin.php]kodachrome[/a]', $message);
    $message = liens_automatiques("natural bridges", '[a target=_blank href=../utah/natural-bridges/natural-bridges.php]Natural Bridges National Monument[/a]', $message);
    $message = liens_automatiques("rainbow bridges", '[a target=_blank href=../utah/rainbow-bridge/rainbow-bridge.php]Rainbow Bridge National Monument[/a]', $message);
    $message = liens_automatiques("zion|zion np", '[a target=_blank href=../utah/zion/zion.php]Zion National Park[/a]', $message);
    // Washington
    $message = liens_automatiques("olympic|olympic np", '[a target=_blank href=../wyoming/devils-tower/devils-tower.php]Olympic National Park[/a]', $message);
    // Wyoming
    $message = liens_automatiques("devils tower|devilstower", '[a target=_blank href=../wyoming/devils-tower/devils-tower.php]Devil\'s Tower[/a]', $message);
    $message = liens_automatiques("grd teton|grand teton", '[a target=_blank href=../wyoming/grand-teton/grand-teton.php]Grand Teton[/a]', $message);
    $message = liens_automatiques("yellowstone np|yellowstone", '[a target=_blank href=../wyoming/yellowstone/yellowstone.php]Yellowstone[/a]', $message);    
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES VILLES + ACTIVITE
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    // Arizona
    $message = liens_automatiques("cameron", '[a target=_blank href=../arizona/cameron/cameron.php]Cameron[/a]', $message);
    $message = liens_automatiques("flagstaff", '[a target=_blank href=../arizona/flagstaff/flagstaff.php]Flagstaff[/a]', $message);
    $message = liens_automatiques("page", '[a target=_blank href=../arizona/page/page.php]Page[/a]', $message);    
    $message = liens_automatiques("phoenix", '[a target=_blank href=../arizona/phoenix/phoenix.php]Phoenix[/a]', $message);    
    $message = liens_automatiques("sedona", '[a target=_blank href=../arizona/sedona/sedona.php]Sedona[/a]', $message);
    $message = liens_automatiques("grand canyon hélicoptere", '[a target=_blank href=../arizona/grand-canyon/grand-canyon-helicoptere.php]Grand Canyon en hélicoptere[/a]', $message);
    $message = liens_automatiques("skywalk", '[a target=_blank href=../arizona/grand-canyon/grand-canyon-skywalk.php]Grand Canyon Skywalk[/a]', $message);
    $message = liens_automatiques("williams", '[a target=_blank href=../arizona/williams-route-66/williams-route-66.php]Williams[/a]', $message);    
    // Californie
    $message = liens_automatiques("bodie", '[a target=_blank href=../californie/bodie/bodie.php]Bodie[/a]', $message);
    $message = liens_automatiques("calico", '[a target=_blank href=../californie/calico/calico.php]Calico Ghost Town[/a]', $message);
    // Ne pas mettre |la pour los angeles sinon merdier idem pour SF ou SFO pour San Francisco
    $message = liens_automatiques("los angeles", '[a target=_blank href=../californie/los-angeles/los-angeles.php]Los Angeles[/a]', $message);
    $message = liens_automatiques("san francisco|san fransisco ", '[a target=_blank href=../californie/san-francisco/san-francisco.php]San Francisco[/a]', $message);
    $message = liens_automatiques("mono lake", '[a target=_blank href=../californie/mono-lake/mono-lake.php]Mono Lake[/a]', $message);
    $message = liens_automatiques("alcatraz", '[a target=_blank href=../californie/san-francisco/alcatraz.php]Alcatraz[/a]', $message);
    $message = liens_automatiques("disney", '[a target=_blank href=../californie/los-angeles/disneyland-los-angeles.php]Disneyland Los Angeles[/a]', $message);
    $message = liens_automatiques("universal|universal studios", '[a target=_blank href=../californie/los-angeles/universal-studio-hollywood.php]Universal Studios hollywood[/a]', $message);
    // Nevada        
    $message = liens_automatiques("las vegas|las végas", '[a target=_blank href=../nevada/las-vegas/las-vegas.php]Las Vegas[/a]', $message);    
    $message = liens_automatiques("spectacles|shows", '[a target=_blank href=../nevada/las-vegas/spectacles-las-vegas.php]Spectacles et Shows à Las Vegas[/a]', $message);
    // Nouveau Mexique
    $message = liens_automatiques("shiprock", '[a target=_blank href=../nouveau-mexique/shiprock/shiprock.php]Shiprock[/a]', $message);    
    $message = liens_automatiques("albuquerque", '[a target=_blank href=../cartes/autres/albuquerque.php?page=informations]Albuquerque[/a]', $message);    
    $message = liens_automatiques("santa fe", '[a target=_blank href=../cartes/autres/santa_fe.php?page=informations]Santa Fe[/a]', $message);    
    // Utah
    $message = liens_automatiques("bluff", '[a target=_blank href=../utah/bluff/bluff.php]Bluff[/a]', $message);
    $message = liens_automatiques("moab", '[a target=_blank href=../utah/moab/moab.php]Moab[/a]', $message);
    $message = liens_automatiques("mexican hat", '[a target=_blank href=../utah/mexican-hat/mexican-hat.php]Mexican Hat[/a]', $message);    
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES EDITOS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("mont rushmore", '[a target=_blank href=../divers/edito/edito35-le-mont-rushmore.php]Mont Rushmore[/a]', $message);    
    $message = liens_automatiques("little bighorn|little bigorn", '[a target=_blank href=../divers/edito/edito75-little-bighorn-battlefied-national-monument.php]Little Bighorn Battlefied[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES AMERINDIENS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("amerindiens|amerindien", '[a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a]', $message);    
    $message = liens_automatiques("black hills|black hil", '[a target=_blank href=../amerindiens/articles/black-hills.php]Black Hills[/a]', $message);    
    $message = liens_automatiques("anasazis|anasazi", '[a target=_blank href=../amerindiens/tribus/anasazi.php]Anasazis[/a]', $message);
    $message = liens_automatiques("apaches|apache", '[a target=_blank href=../amerindiens/tribus/apache.php]Apaches[/a]', $message);
    $message = liens_automatiques("arapahoes|arapahoe", '[a target=_blank href=../amerindiens/tribus/arapahoe.php]Arapahoe[/a]', $message);
    $message = liens_automatiques("blackfeet", '[a target=_blank href=../amerindiens/tribus/blackfeet.php]Blackfeet[/a]', $message);
    $message = liens_automatiques("cherokees|cherokee|cheroke", '[a target=_blank href=../amerindiens/tribus/cherokee.php]Cherokee[/a]', $message);
    $message = liens_automatiques("cheyenne|cheyennes", '[a target=_blank href=../amerindiens/tribus/cheyenne.php]Cheyenne[/a]', $message);
    $message = liens_automatiques("choctaw|choctaws", '[a target=_blank href=../amerindiens/tribus/choctaws.php]Choctaw[/a]', $message);
    $message = liens_automatiques("comanches|comanche|commanches|commanche", '[a target=_blank href=../amerindiens/tribus/comanches.php]Comanche[/a]', $message);
    $message = liens_automatiques("creek|creeks", '[a target=_blank href=../amerindiens/tribus/creek.php]Creek[/a]', $message);
    $message = liens_automatiques("havasupai", '[a target=_blank href=../amerindiens/tribus/havasupai.php]Havasupai[/a]', $message);
    $message = liens_automatiques("hopis|hopi", '[a target=_blank href=../amerindiens/tribus/hopi.php]Hopi[/a]', $message);
    $message = liens_automatiques("iroquois", '[a target=_blank href=../amerindiens/tribus/iroquois.php]Iroquois[/a]', $message);
    $message = liens_automatiques("navajos|navajo", '[a target=_blank href=../amerindiens/tribus/navajos.php]Navajos[/a]', $message);
    $message = liens_automatiques("pueblos|pueblo", '[a target=_blank href=../amerindiens/tribus/pueblo.php]Pueblos[/a]', $message);
    $message = liens_automatiques("séminoles|séminole|seminoles|seminole", '[a target=_blank href=../amerindiens/tribus/seminole.php]Séminoles[/a]', $message);
    $message = liens_automatiques("sioux", '[a target=_blank href=../amerindiens/tribus/sioux.php]Sioux[/a]', $message);
    $message = liens_automatiques("zunis|zuni", '[a target=_blank href=../amerindiens/tribus/zuni.php]Zunis[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    AUTRES
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("hackberry store|hackberry", '[a target=_blank href=../blog-voyage-usa/hackberry-general-store/hackberry-general-store.php]Hackberry Store[/a]', $message);
    $message = liens_automatiques("hotel.com", '[a target=_blank href=redirection.php?id=2]hotel.com[/a]', $message);
    $message = liens_automatiques("hôtels|hôtel|hotels|hotel", '[a target=_blank href=../organiser-voyage-usa/recherche-hotel-usa.php]hôtel[/a]', $message);
    $message = liens_automatiques("motels|motel", '[a target=_blank href=../organiser-voyage-usa/recherche-hotel-usa.php]motel[/a]', $message);
    $message = liens_automatiques("booking.com|booking", '[a target=_blank href=https://www.booking.com/destinationfinder/countries/us.fr.html?aid=384534]Booking.com[/a]', $message);
    $message = liens_automatiques("campings|camping", '[a target=_blank href=../organiser-voyage-usa/liste-camping-usa.php]camping[/a]', $message);
    $message = liens_automatiques("roadbook|road book", '[a target=_blank href=../organiser-voyage-usa/roadbook-usa.php]Roadbook[/a]', $message);
     
    // Boutique
    $message = liens_automatiques("adaptateur", '[a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a]', $message);
    $message = liens_automatiques("cadena", '[a target=_blank href=../boutique/divers-usa/cadenas-tsa.php]cadena[/a]', $message);
    $message = liens_automatiques("tsa", '[a target=_blank href=../boutique/divers-usa/cadenas-tsa.php]TSA[/a]', $message);
    $message = liens_automatiques("valise", '[a target=_blank href=../boutique/divers-usa/valise-cabine.php]valise[/a]', $message);
    $message = liens_automatiques("livre", '[a target=_blank href=../boutique/librairie/livres-etats-unis.php]livre[/a]', $message);
    $message = liens_automatiques("cartes mémoire|cartes memoire|carte mémoire|carte memoire", '[a target=_blank href=../boutique/technologies/cartes-memoire.php]carte mémoire[/a]', $message);
    $message = liens_automatiques("gopro|go-pro", '[a target=_blank href=../boutique/technologies/gopro.php]Gopro[/a]', $message);
    $message = liens_automatiques("gps", '[a target=_blank href=../boutique/technologies/gps-usa.php]Gps[/a]', $message);
     
     
    echo $message;
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    Le but étant de remplacer des mots par des liens sauf si mots contenus dans lien
    Jusqu'à là, pas de problème

    Le problème intervient dans ce cas de figure (changement de la variable message) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    $message = "
    [div class=citation]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    ";
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    [div class=citation]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    Certain mots ne sont plus remplacés ....
    Pouvez vous me donner un coup de main ?
    Merci d'avance
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  5. #5
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Essaie comme ça. Je me demande pourquoi je n'ai pas pensé à ça la première fois ?!?!

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function liens_automatiques($mot_a_trouver, $remplacement, $chaine){
            return preg_replace("/(\[p\])\s*(".$mot_a_trouver.")(\s*\[\/p\])/i", "\$1$remplacement\$3", $chaine);
     
    }

    Avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    [div class=citation]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    Après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    [div class=citation]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  6. #6
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Super Badaze ! Merci de te pencher sur mon cas (tard le soir)....

    Je pense que cela n'est pas bon et cela est de ma faute car je n'ai pas été assez clair dans ma description.
    Ce que tu proposes fonctionne à coup sur quand entouré par une balise p.
    Le problème, c'est que c'est n'est pas forcément une balise p.
    Cela peut être avec n'importe quelle balise (span, div, img) ou même sans balise.
    Désolé pour le manque de clarté. Je vais y remédier :

    Voici plusieurs cas de figure possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [p]Arizona[/p]
    [p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [div][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/div]
    [div][p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p][/div]
    [div]Arizona[/div]
    [p]Arizona[br /][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [span][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a] arizona[/span]
    [p class=centrer][img class=ombre img-rounded src=../photos/cartes/etats/general/arizona.gif alt=Arizona width=750 height=359 /][/p]
    Ici des exemples avec le mot arizona. Ce n'est qu'un exemple parce que bien sur, il y a plusieurs mots différents

    Je rappelle le but : remplacer des mots par des liens sauf si ces mots sont déjà contenus dans un lien

    Voici ou j'en suis actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    // Le message original est en BBCODE
    $message = "
    [p]Arizona[/p]
    [p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [div][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/div]
    [div][p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p][/div]
    [div][p]arizona[/p][/div]
    [div]Arizona[/div]
    [p]Arizona[br /][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [span][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a] arizona[/span]
    [p class=centrer][img class=ombre img-rounded src=../photos/cartes/etats/general/arizona.gif alt=Arizona width=750 height=359 /][/p]
    ";
     
    function liens_automatiques($mot_a_trouver, $remplacement, $chaine) {
     
        $tab = preg_split('`(\[\w+.*?\/a])|(\[\w+.*?\])`',$chaine,-1,PREG_SPLIT_DELIM_CAPTURE);
     
        foreach($tab as $key=>$val){
            if(preg_match('`^\[\w+`',$val)) {
                $tab[$key] = $val;
            }
            else {
                $tab[$key] = preg_replace('`\b'.$mot_a_trouver.'\b`i', $remplacement, $val);
            }
        }
        return implode($tab);
     
    }
     
    $message = liens_automatiques("arizona", '[a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a]', $message);
    $message = liens_automatiques("yellowstone np|yellowstone", '[a target=_blank href=../wyoming/yellowstone/yellowstone.php]Yellowstone[/a]', $message);    
    // Il y a tout un tas de mot (une centaine)
    echo $message;
    Ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [div][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/div]
    [div][p][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p][/div]
    [div][p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p][/div]
    [div][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/div]
    [p]Arizona[br /][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a][/p]
    [span][a target=_blank href=../cartes/etat/3-carte-etat-arizona.php]arizona[/a] [a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/span]
    [p class=centrer][img class=ombre img-rounded src=../photos/cartes/etats/general/arizona.gif alt=Arizona width=750 height=359 /][/p]
    Tout est ok sauf à la ligne 7 ([p]Arizona[br /]). Ce qui est logique puisque cela ne rentre pas dans ma condition de preg_split

    J'avance par talonnements car je ne suis pas fort en regex.

    Encore merci à toi Badaze te me consacrer du temps...

    Si tu as la solution pour la ligne 7 je suis preneur !!!!
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  7. #7
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Essaie ça qui est indépendant du tag. Par contre ça ne gère pas les mots sans tag. Pour gérer ce cas il faut tenir compte que le mot peut se trouver dans une URL dans du texte qui en a remplacé un autre, etc...
    Peut être qu'il faut le faire en 2 fois ou passer par preg_match_all ? Pour le moment je n'ai pas trop de temps. Peut être plus tard dans le weekend... mais sur ce forum il y a quelques membres qui sont des cadors dans ce domaine peut être que ça les intéressera.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function liens_automatiques($mot_a_trouver, $remplacement, $chaine){
     
            return preg_replace("/(\[([^\]]+)\])\s*(".$mot_a_trouver.")(\s*\[\/\\2\])/msi", "\$1$remplacement\$4", $chaine);
     
    }
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  8. #8
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Merci beaucoup !
    Avec une ligne de code dans la fonction du arrives au même résultat que moi !
    Les cadors sont en mode hivernage ou alors, mon code ne les passionnent pas....
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  9. #9
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Voici une version qui, je pense, résout ton problème ou bien n'en est pas loin car je n'ai pas fait beaucoup de tests.
    Le principe.
    1 - On remplace tous les tags A par une valeur qu'on sait qu'on ne retrouvera pas dans le texte. Chaque tag A a sa chaîne de remplacement unique qui est conservée.
    2 - On fait un remplacement du reste
    3 - On restaure les données remplacées au point 1.

    Mes modifications commencent par 'début badaze' et finissent par 'fin badaze'.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
     
    <?php
    //**** début badaze
    function liens_automatiques($mot_a_trouver, $remplacement, $chaine){
     
            //return preg_replace("/(\[([^\]]+)\])\s*(".$mot_a_trouver.")(\s*\[\/\\2\])/msi", "\$1$remplacement\$4", $chaine);
      return preg_replace("/(".$mot_a_trouver.")/msi", "$remplacement", $chaine);
    }
    //**** fin badaze 
     
    // Le message original est en BBCODE
    $message = "
    [div class=citation]
    Arches
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    ";
    print $message."<hr/>";
    //**** début badaze
    preg_match_all("/\[a([^\]]+)\].*?\[\/a\]/",$message,$result);
    $tagsA        = $result[0];
    $replaceArray = array();
    foreach ($tagsA as $key => $value)
    {
     $replaceArray[$key] = "************$key************";
    }
    $message = str_replace($tagsA,$replaceArray,$message);
    //**** fin badaze
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES ETATS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("alabama", '[a target=_blank href=../cartes/etat/1-carte-etat-alabama.php]Alabama[/a]', $message);    
    $message = liens_automatiques("alaska", '[a target=_blank href=../cartes/etat/2-carte-etat-alaska.php]Alaska[/a]', $message);    
    $message = liens_automatiques("arizona", '[a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a]', $message);    
    $message = liens_automatiques("arkansas", '[a target=_blank href=../cartes/etat/4-carte-etat-arkansas.php]Arkansas[/a]', $message);    
    $message = liens_automatiques("californie", '[a target=_blank href=../californie/parcs-nationaux-americain-californie.php]Californie[/a]', $message);    
    $message = liens_automatiques("colorado", '[a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a]', $message);    
    $message = liens_automatiques("dakota du nord|north dakota", '[a target=_blank href=../cartes/etat/11-carte-etat-dakota-du-nord.php]Dakota du Nord[/a]', $message);    
    $message = liens_automatiques("dakota du sud|south dakota", '[a target=_blank href=../dakota-sud/parcs-nationaux-americain-dakota-sud.php]Dakota du Sud [/a]', $message);    
    $message = liens_automatiques("floride", '[a target=_blank href=../cartes/etat/14-carte-informations-etat.php]Floride[/a]', $message);    
    $message = liens_automatiques("idaho", '[a target=_blank href=../cartes/etat/17-carte-etat-idaho.php]Idaho[/a]', $message);    
    $message = liens_automatiques("illinois", '[a target=_blank href=../cartes/etat/18-carte-etat-illinois.php]Illinois[/a]', $message);    
    $message = liens_automatiques("indiana", '[a target=_blank href=../cartes/etat/19-carte-etat-indiana.php]Indiana[/a]', $message);    
    $message = liens_automatiques("iowa", '[a target=_blank href=../cartes/etat/20-carte-etat-iowa.php]Iowa[/a]', $message);    
    $message = liens_automatiques("kansas", '[a target=_blank href=../cartes/etat/21-carte-etat-kansas.php]Kansas[/a]', $message);    
    $message = liens_automatiques("kentucky", '[a target=_blank href=../cartes/etat/22-carte-etat-kentucky.php]Kentucky[/a]', $message);    
    $message = liens_automatiques("louisiane|louisianne", '[a target=_blank href=../cartes/etat/23-carte-etat-louisiane.php]Louisiane[/a]', $message);    
    $message = liens_automatiques("michigan", '[a target=_blank href=../cartes/etat/27-carte-etat-michigan.php]Michigan[/a]', $message);    
    $message = liens_automatiques("minnesota", '[a target=_blank href=../cartes/etat/28-carte-etat-minnesota.php]Minnesota[/a]', $message);    
    $message = liens_automatiques("mississippi", '[a target=_blank href=../cartes/etat/29-carte-etat-mississippi.php]Mississippi[/a]', $message);    
    $message = liens_automatiques("missouri", '[a target=_blank href=../cartes/etat/30-carte-etat-missouri.php]Missouri[/a]', $message);    
    $message = liens_automatiques("montana", '[a target=_blank href=../montana/parcs-nationaux-americain-montana.php]Montana[/a]', $message);    
    $message = liens_automatiques("nebraska", '[a target=_blank href=../cartes/etat/32-carte-etat-nebraska.php]Nebraska[/a]', $message);    
    $message = liens_automatiques("nevada", '[a target=_blank href=../nevada/parcs-nationaux-americain-nevada.php]Nevada[/a]', $message);    
    $message = liens_automatiques("new york", '[a target=_blank href=../cartes/etat/36-carte-etat-new-york.php]New York[/a]', $message);    
    $message = liens_automatiques("nouveau mexique", '[a target=_blank href=../nouveau-mexique/parcs-nationaux-americain-nouveau-mexique.php]Nouveau Mexique[/a]', $message);    
    $message = liens_automatiques("ohio", '[a target=_blank href=../cartes/etat/38-carte-etat-ohio.php]Ohio[/a]', $message);    
    $message = liens_automatiques("oklahoma", '[a target=_blank href=../cartes/etat/39-carte-etat-oklahoma.php]Oklahoma[/a]', $message);    
    $message = liens_automatiques("oregon", '[a target=_blank href=../oregon/parcs-nationaux-americain-oregon.php]Oregon[/a]', $message);    
    $message = liens_automatiques("pennsylvanie", '[a target=_blank href=../cartes/etat/41-carte-etat-pennsylvanie.php]Pennsylvanie[/a]', $message);    
    $message = liens_automatiques("tennessee", '[a target=_blank href=../cartes/etat/43-carte-etat-tennessee.php]Tennessee[/a]', $message);    
    $message = liens_automatiques("texas", '[a target=_blank href=../texas/parcs-nationaux-americain-texas.php]Texas[/a]', $message);    
    $message = liens_automatiques("utah", '[a target=_blank href=../utah/parcs-nationaux-americain-utah.php]Utah[/a]', $message);    
    $message = liens_automatiques("washington", '[a target=_blank href=../washington/parcs-nationaux-americain-washington.php]Washington[/a]', $message);    
    $message = liens_automatiques("wisconsin", '[a target=_blank href=../cartes/etat/50-carte-etat-wisconsin.php]Wisconsin[/a]', $message);    
    $message = liens_automatiques("wyoming", '[a target=_blank href=../wyoming/parcs-nationaux-americain-wyoming.php]Wyoming[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES PARCS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("parcs nationaux", '[a target=_blank href=../parc-ouest-americain.php]Parcs ouest américain[/a]', $message);
    // Alaska
    $message = liens_automatiques("denali", '[a target=_blank href=../alaska/denali/denali.php]Denali National Park[/a]', $message);
    // Arizona
    $message = liens_automatiques("antelope|antelope canyon|antellope canyon", '[a target=_blank href=../arizona/antelope-canyon/antelope-canyon.php]Antelope Canyon[/a]', $message);
    $message = liens_automatiques("canyon de chelly", '[a target=_blank href=../arizona/canyon-chelly/canyon-chelly.php]Canyon de Chelly[/a]', $message);
    $message = liens_automatiques("casa grande ruins", '[a target=_blank href=../arizona/casa-grande-ruins/casa-grande-ruins.php]Casa Grande Ruins[/a]', $message);
    $message = liens_automatiques("chiricahua", '[a target=_blank href=../arizona/chiricahua/chiricahua.php]Chiricahua[/a]', $message);
    $message = liens_automatiques("grand canyon|grd canyon", '[a target=_blank href=../arizona/grand-canyon/grand-canyon.php]Grand Canyon[/a]', $message);
    $message = liens_automatiques("havasu falls|havasu fall", '[a target=_blank href=../arizona/havasu-falls/havasu-falls.php]havasu falls[/a]', $message);
    $message = liens_automatiques("horseshoe|horseshoe bend|horeseshoe bend", '[a target=_blank href=../arizona/horseshoe-bend/horseshoe-bend.php]Horseshoe Bend[/a]', $message);
    $message = liens_automatiques("meteor crater", '[a target=_blank href=../arizona/meteor-crater/meteor-crater.php]Meteor Crater[/a]', $message);
    $message = liens_automatiques("monument valley", '[a target=_blank href=../arizona/monument-valley/monument-valley.php]Monument Valley[/a]', $message);    
    $message = liens_automatiques("navajo nm", '[a target=_blank href=../arizona/navajo-national-monument/navajo-national-monument.php]Navajo National Monument[/a]', $message);    
    $message = liens_automatiques("painted desert", '[a target=_blank href=../arizona/painted-desert/painted-desert.php]Painted desert[/a]', $message);    
    $message = liens_automatiques("petrified", '[a target=_blank href=../arizona/petrified-forest/petrified-forest.php]Petrified Forest National Park[/a]', $message);    
    $message = liens_automatiques("saguaro|sagaro", '[a target=_blank href=../arizona/saguaro/saguaro.php]Saguaro National Park[/a]', $message);
    $message = liens_automatiques("sunset crater", '[a target=_blank href=../arizona/sunset-crater/sunset-crater.php]Sunset Crater Volcano National Monument[/a]', $message);
    $message = liens_automatiques("coyote buttes|wave", '[a target=_blank href=../arizona/the-wave/the-wave.php]Coyote Buttes The Wave[/a]', $message);
    $message = liens_automatiques("walnut canyon|walnut", '[a target=_blank href=../arizona/walnut-canyon/walnut-canyon.php]Walnut Canyon[/a]', $message);    
    $message = liens_automatiques("wupatki", '[a target=_blank href=../arizona/wupatki/wupatki.php]Wupatki National Monument[/a]', $message);    
    // Californie
    $message = liens_automatiques("death valley np|death valley", '[a target=_blank href=../californie/death-valley/death-valley.php]Death Valley[/a]', $message);
    $message = liens_automatiques("vallée de la mort|valle de la mort", '[a target=_blank href=../californie/death-valley/death-valley.php]Vallée de la mort[/a]', $message);
    $message = liens_automatiques("john muir", '[a target=_blank href=../californie/john-muir/john-muir.php]John Muir National Historic Site[/a]', $message);
    $message = liens_automatiques("joshua tree np|joshua tree", '[a target=_blank href=../californie/joshua-tree/joshua-tree.php]Joshua Tree[/a]', $message);
    $message = liens_automatiques("kings kanyon", '[a target=_blank href=../californie/sequoia-kings-canyon/sequoia-kings-canyon.php]Kings Canyon[/a]', $message);
    $message = liens_automatiques("lassen|lassen volcanic", '[a target=_blank href=../californie/lassen-volcanic/lassen-volcanic.php]Lassen Volcanic National Park[/a]', $message);
    $message = liens_automatiques("mojave", '[a target=_blank href=../californie/mojave-national-preserve/mojave-national-preserve.php]Mojave National Preserve[/a]', $message);
    $message = liens_automatiques("redwood", '[a target=_blank href=../californie/redwood/redwood.php]Redwood National and State Parks[/a]', $message);
    $message = liens_automatiques("sequoia np|sequoia|séquoia", '[a target=_blank href=../californie/sequoia-kings-canyon/sequoia-kings-canyon.php]Sequoia[/a]', $message);    
    $message = liens_automatiques("yosemite|yos&eacute;mite", '[a target=_blank href=../californie/yosemite/yosemite.php]Yosemite[/a]', $message);    
    // Colorado
    $message = liens_automatiques("black canyon|gunnison", '[a target=_blank href=../colorado/black-canyon-of-the-gunnison/black-canyon-of-the-gunnison.php]Black Canyon Of The Gunnison[/a]', $message);
    $message = liens_automatiques("colorado nm", '[a target=_blank href=../colorado.php]Colorado National Monument[/a]', $message);
    $message = liens_automatiques("dinosaur|dinosor", '[a target=_blank href=../colorado/dinosaur/dinosaur.php]Dinosaur National Monument[/a]', $message);
    $message = liens_automatiques("great sand|great sand dunes", '[a target=_blank href=../colorado/great-sand-dunes/great-sand-dunes.php]Great Sand Dunes[/a]', $message);
    $message = liens_automatiques("mesa verde np|mesa verde", '[a target=_blank href=../colorado/mesa-verde/mesa-verde.php]Mesa Verde[/a]', $message);    
    $message = liens_automatiques("rocky mountain", '[a target=_blank href=../colorado/rocky-mountain/rocky-mountain.php]Rocky Mountain National Park[/a]', $message);    
    // Dakota sud
    $message = liens_automatiques("badlands np|badlands", '[a target=_blank href=../dakota-sud/badlands/badlands.php]Badlands[/a]', $message);
    $message = liens_automatiques("wind cave", '[a target=_blank href=../dakota-sud/wind-cave/wind-cave.php]Wind Cave National Park[/a]', $message);
    // Montana
    $message = liens_automatiques("glacier", '[a target=_blank href=../montana/glacier/glacier.php]Glacier National Park[/a]', $message);    
    // Nevada
    $message = liens_automatiques("valley of fire", '[a target=_blank href=../nevada/valley-of-fire/valley-of-fire.php]Valley of fire[/a]', $message);    
    // Nouveau Mexique
    $message = liens_automatiques("aztec ruins nm|aztec ruins", '[a target=_blank href=../nouveau-mexique/aztec-ruins/aztec-ruins.php]Aztec Ruins[/a]', $message);    
    $message = liens_automatiques("bandelier", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]Bandelier National Monument[/a]', $message);
    $message = liens_automatiques("carlsbad|carlsbad caverns", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]Carlsbad Caverns National Park[/a]', $message);
    $message = liens_automatiques("chaco|chaco canyon", '[a target=_blank href=../nouveau-mexique/chaco-canyon/chaco-canyon.php]Chaco Culture National Historical Park[/a]', $message);
    $message = liens_automatiques("malpais|el malpais", '[a target=_blank href=../nouveau-mexique/bandelier/bandelier.php]El Malpais National Monument[/a]', $message);
    $message = liens_automatiques("white sand|white sands", '[a target=_blank href=../nouveau-mexique/white-sands/white-sands.php]White Sands National Monument[/a]', $message);    
    // Oregon
    $message = liens_automatiques("crater lake", '[a target=_blank href=../oregon/crater-lake/crater-lake.php]Crater Lake National Park[/a]', $message);    
    // Texas
    $message = liens_automatiques("big bend", '[a target=_blank href=../texas/big-bend/big-bend.php]Big Bend National Park[/a]', $message);    
    // Utah    
    $message = liens_automatiques("arches|arches np", '[a target=_blank href=../utah/arches/arches.php]Arches National Park[/a]', $message);
    $message = liens_automatiques("bryce|bryce np|bryce canyon np|bryce canyon", '[a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a]', $message);
    $message = liens_automatiques("canyonlands np|canyonlands|canyonland", '[a target=_blank href=../utah/canyonlands/canyonlands.php]Canyonlands National Park[/a]', $message);
    $message = liens_automatiques("capitol reef|capitol reef  np", '[a target=_blank href=../utah/capitol-reef/capitol-reef.php]Capitol Reef National Park[/a]', $message);    
    $message = liens_automatiques("cedar break|cedar breaks", '[a target=_blank href=../utah/cedar-breaks/cedar-breaks.php]Cedar Breaks National Monument[/a]', $message);
    $message = liens_automatiques("dead horse point|dead horse", '[a target=_blank href=../utah/dead-horse-point/dead-horse-point.php]Dead horse Point[/a]', $message);
    $message = liens_automatiques("flaming gorge", '[a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a]', $message);
    $message = liens_automatiques("glen canyon|lake powell", '[a target=_blank href=../utah/glen-canyon-lake-powell/glen-canyon-lake-powell.php]Glen Canyon et le Lake Powell[/a]', $message);
    $message = liens_automatiques("goosenecks|gooseneck|goseneck", '[a target=_blank href=../utah/goosenecks/goosenecks.php]Goosenecks[/a]', $message);
    $message = liens_automatiques("kodakrome|kodacrome|kodachrome", '[a target=_blank href=../utah/kodachrome-basin/kodachrome-basin.php]kodachrome[/a]', $message);
    $message = liens_automatiques("natural bridges", '[a target=_blank href=../utah/natural-bridges/natural-bridges.php]Natural Bridges National Monument[/a]', $message);
    $message = liens_automatiques("rainbow bridges", '[a target=_blank href=../utah/rainbow-bridge/rainbow-bridge.php]Rainbow Bridge National Monument[/a]', $message);
    $message = liens_automatiques("zion|zion np", '[a target=_blank href=../utah/zion/zion.php]Zion National Park[/a]', $message);
    // Washington
    $message = liens_automatiques("olympic|olympic np", '[a target=_blank href=../wyoming/devils-tower/devils-tower.php]Olympic National Park[/a]', $message);
    // Wyoming
    $message = liens_automatiques("devils tower|devilstower", '[a target=_blank href=../wyoming/devils-tower/devils-tower.php]Devil\'s Tower[/a]', $message);
    $message = liens_automatiques("grd teton|grand teton", '[a target=_blank href=../wyoming/grand-teton/grand-teton.php]Grand Teton[/a]', $message);
    $message = liens_automatiques("yellowstone np|yellowstone", '[a target=_blank href=../wyoming/yellowstone/yellowstone.php]Yellowstone[/a]', $message);    
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES VILLES + ACTIVITE
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    // Arizona
    $message = liens_automatiques("cameron", '[a target=_blank href=../arizona/cameron/cameron.php]Cameron[/a]', $message);
    $message = liens_automatiques("flagstaff", '[a target=_blank href=../arizona/flagstaff/flagstaff.php]Flagstaff[/a]', $message);
    $message = liens_automatiques("page", '[a target=_blank href=../arizona/page/page.php]Page[/a]', $message);    
    $message = liens_automatiques("phoenix", '[a target=_blank href=../arizona/phoenix/phoenix.php]Phoenix[/a]', $message);    
    $message = liens_automatiques("sedona", '[a target=_blank href=../arizona/sedona/sedona.php]Sedona[/a]', $message);
    $message = liens_automatiques("grand canyon hélicoptere", '[a target=_blank href=../arizona/grand-canyon/grand-canyon-helicoptere.php]Grand Canyon en hélicoptere[/a]', $message);
    $message = liens_automatiques("skywalk", '[a target=_blank href=../arizona/grand-canyon/grand-canyon-skywalk.php]Grand Canyon Skywalk[/a]', $message);
    $message = liens_automatiques("williams", '[a target=_blank href=../arizona/williams-route-66/williams-route-66.php]Williams[/a]', $message);    
    // Californie
    $message = liens_automatiques("bodie", '[a target=_blank href=../californie/bodie/bodie.php]Bodie[/a]', $message);
    $message = liens_automatiques("calico", '[a target=_blank href=../californie/calico/calico.php]Calico Ghost Town[/a]', $message);
    // Ne pas mettre |la pour los angeles sinon merdier idem pour SF ou SFO pour San Francisco
    $message = liens_automatiques("los angeles", '[a target=_blank href=../californie/los-angeles/los-angeles.php]Los Angeles[/a]', $message);
    $message = liens_automatiques("san francisco|san fransisco ", '[a target=_blank href=../californie/san-francisco/san-francisco.php]San Francisco[/a]', $message);
    $message = liens_automatiques("mono lake", '[a target=_blank href=../californie/mono-lake/mono-lake.php]Mono Lake[/a]', $message);
    $message = liens_automatiques("alcatraz", '[a target=_blank href=../californie/san-francisco/alcatraz.php]Alcatraz[/a]', $message);
    $message = liens_automatiques("disney", '[a target=_blank href=../californie/los-angeles/disneyland-los-angeles.php]Disneyland Los Angeles[/a]', $message);
    $message = liens_automatiques("universal|universal studios", '[a target=_blank href=../californie/los-angeles/universal-studio-hollywood.php]Universal Studios hollywood[/a]', $message);
    // Nevada        
    $message = liens_automatiques("las vegas|las végas", '[a target=_blank href=../nevada/las-vegas/las-vegas.php]Las Vegas[/a]', $message);    
    $message = liens_automatiques("spectacles|shows", '[a target=_blank href=../nevada/las-vegas/spectacles-las-vegas.php]Spectacles et Shows à Las Vegas[/a]', $message);
    // Nouveau Mexique
    $message = liens_automatiques("shiprock", '[a target=_blank href=../nouveau-mexique/shiprock/shiprock.php]Shiprock[/a]', $message);    
    $message = liens_automatiques("albuquerque", '[a target=_blank href=../cartes/autres/albuquerque.php?page=informations]Albuquerque[/a]', $message);    
    $message = liens_automatiques("santa fe", '[a target=_blank href=../cartes/autres/santa_fe.php?page=informations]Santa Fe[/a]', $message);    
    // Utah
    $message = liens_automatiques("bluff", '[a target=_blank href=../utah/bluff/bluff.php]Bluff[/a]', $message);
    $message = liens_automatiques("moab", '[a target=_blank href=../utah/moab/moab.php]Moab[/a]', $message);
    $message = liens_automatiques("mexican hat", '[a target=_blank href=../utah/mexican-hat/mexican-hat.php]Mexican Hat[/a]', $message);    
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES EDITOS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("mont rushmore", '[a target=_blank href=../divers/edito/edito35-le-mont-rushmore.php]Mont Rushmore[/a]', $message);    
    $message = liens_automatiques("little bighorn|little bigorn", '[a target=_blank href=../divers/edito/edito75-little-bighorn-battlefied-national-monument.php]Little Bighorn Battlefied[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    LES AMERINDIENS
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("amerindiens|amerindien", '[a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a]', $message);    
    $message = liens_automatiques("black hills|black hil", '[a target=_blank href=../amerindiens/articles/black-hills.php]Black Hills[/a]', $message);    
    $message = liens_automatiques("anasazis|anasazi", '[a target=_blank href=../amerindiens/tribus/anasazi.php]Anasazis[/a]', $message);
    $message = liens_automatiques("apaches|apache", '[a target=_blank href=../amerindiens/tribus/apache.php]Apaches[/a]', $message);
    $message = liens_automatiques("arapahoes|arapahoe", '[a target=_blank href=../amerindiens/tribus/arapahoe.php]Arapahoe[/a]', $message);
    $message = liens_automatiques("blackfeet", '[a target=_blank href=../amerindiens/tribus/blackfeet.php]Blackfeet[/a]', $message);
    $message = liens_automatiques("cherokees|cherokee|cheroke", '[a target=_blank href=../amerindiens/tribus/cherokee.php]Cherokee[/a]', $message);
    $message = liens_automatiques("cheyenne|cheyennes", '[a target=_blank href=../amerindiens/tribus/cheyenne.php]Cheyenne[/a]', $message);
    $message = liens_automatiques("choctaw|choctaws", '[a target=_blank href=../amerindiens/tribus/choctaws.php]Choctaw[/a]', $message);
    $message = liens_automatiques("comanches|comanche|commanches|commanche", '[a target=_blank href=../amerindiens/tribus/comanches.php]Comanche[/a]', $message);
    $message = liens_automatiques("creek|creeks", '[a target=_blank href=../amerindiens/tribus/creek.php]Creek[/a]', $message);
    $message = liens_automatiques("havasupai", '[a target=_blank href=../amerindiens/tribus/havasupai.php]Havasupai[/a]', $message);
    $message = liens_automatiques("hopis|hopi", '[a target=_blank href=../amerindiens/tribus/hopi.php]Hopi[/a]', $message);
    $message = liens_automatiques("iroquois", '[a target=_blank href=../amerindiens/tribus/iroquois.php]Iroquois[/a]', $message);
    $message = liens_automatiques("navajos|navajo", '[a target=_blank href=../amerindiens/tribus/navajos.php]Navajos[/a]', $message);
    $message = liens_automatiques("pueblos|pueblo", '[a target=_blank href=../amerindiens/tribus/pueblo.php]Pueblos[/a]', $message);
    $message = liens_automatiques("séminoles|séminole|seminoles|seminole", '[a target=_blank href=../amerindiens/tribus/seminole.php]Séminoles[/a]', $message);
    $message = liens_automatiques("sioux", '[a target=_blank href=../amerindiens/tribus/sioux.php]Sioux[/a]', $message);
    $message = liens_automatiques("zunis|zuni", '[a target=_blank href=../amerindiens/tribus/zuni.php]Zunis[/a]', $message);
     
     
    /*~~~~~~~~~~~~~~~~~~~~~~~~~
    AUTRES
    ~~~~~~~~~~~~~~~~~~~~~~~~*/
    $message = liens_automatiques("hackberry store|hackberry", '[a target=_blank href=../blog-voyage-usa/hackberry-general-store/hackberry-general-store.php]Hackberry Store[/a]', $message);
    $message = liens_automatiques("hotel.com", '[a target=_blank href=redirection.php?id=2]hotel.com[/a]', $message);
    $message = liens_automatiques("hôtels|hôtel|hotels|hotel", '[a target=_blank href=../organiser-voyage-usa/recherche-hotel-usa.php]hôtel[/a]', $message);
    $message = liens_automatiques("motels|motel", '[a target=_blank href=../organiser-voyage-usa/recherche-hotel-usa.php]motel[/a]', $message);
    $message = liens_automatiques("booking.com|booking", '[a target=_blank href=https://www.booking.com/destinationfinder/countries/us.fr.html?aid=384534]Booking.com[/a]', $message);
    $message = liens_automatiques("campings|camping", '[a target=_blank href=../organiser-voyage-usa/liste-camping-usa.php]camping[/a]', $message);
    $message = liens_automatiques("roadbook|road book", '[a target=_blank href=../organiser-voyage-usa/roadbook-usa.php]Roadbook[/a]', $message);
     
    // Boutique
    $message = liens_automatiques("adaptateur", '[a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a]', $message);
    $message = liens_automatiques("cadena", '[a target=_blank href=../boutique/divers-usa/cadenas-tsa.php]cadena[/a]', $message);
    $message = liens_automatiques("tsa", '[a target=_blank href=../boutique/divers-usa/cadenas-tsa.php]TSA[/a]', $message);
    $message = liens_automatiques("valise", '[a target=_blank href=../boutique/divers-usa/valise-cabine.php]valise[/a]', $message);
    $message = liens_automatiques("livre", '[a target=_blank href=../boutique/librairie/livres-etats-unis.php]livre[/a]', $message);
    $message = liens_automatiques("cartes mémoire|cartes memoire|carte mémoire|carte memoire", '[a target=_blank href=../boutique/technologies/cartes-memoire.php]carte mémoire[/a]', $message);
    $message = liens_automatiques("gopro|go-pro", '[a target=_blank href=../boutique/technologies/gopro.php]Gopro[/a]', $message);
    $message = liens_automatiques("gps", '[a target=_blank href=../boutique/technologies/gps-usa.php]Gps[/a]', $message);
     
    //**** début badaze
    $message = str_replace($replaceArray,$tagsA,$message);
    //**** fin badaze
     
    echo $message;

    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    [div class=citation]
    Arches
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p]Arches[/p]
    [p]bryce[/p]
    [p]amerindien[/p]
    [p]arizona[/p]
    [p]colorado[/p]
    [p]Flaming Gorge[/p]
    [p]adaptateur[/p]
    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    [div class=citation]
    [a target=_blank href=../utah/arches/arches.php]Arches National Park[/a]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    [/div]
    [p][a target=_blank href=../utah/arches/arches.php]Arches National Park[/a][/p]
    [p][a target=_blank href=../utah/bryce-canyon/bryce-canyon.php]Bryce Canyon National Park[/a][/p]
    [p][a target=_blank href=../amerindiens/amerindiens.php]Amérindiens[/a][/p]
    [p][a target=_blank href=../arizona/parcs-villes-arizona.php]Arizona[/a][/p]
    [p][a target=_blank href=../colorado/parcs-nationaux-americain-colorado.php]Colorado[/a][/p]
    [p][a target=_blank href=../utah/flaming-gorge/flaming-gorge.php]Flaming Gorge[/a][/p]
    [p][a target=_blank href=../boutique/boutique-usa-parcs-nationaux-americain.php]adaptateur[/a][/p]
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  10. #10
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Bravo !
    Problème résolu !
    Un grand MERCI !
    Écoute, sinon ta langue te perdra (proverbe Navajo)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Code VBA remplacement automatique par une liste de mots
    Par summerfllore dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 23/06/2016, 08h19
  2. remplacer liste de mots par un ou plusieurs mots
    Par tropik972 dans le forum SAS Base
    Réponses: 12
    Dernier message: 06/02/2009, 20h21
  3. Remplacement d'un mot par le renvoi d'une fonction dans un string
    Par tenev911 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 14/08/2008, 04h03
  4. Remplacement d'un mot par un arbre
    Par Gryzzly dans le forum C
    Réponses: 13
    Dernier message: 31/12/2005, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo