preg_replace_callback et Array

Répondre
lolipops
le 16/06/2005 à 06:45
lolipops
coucou,

J'ai un petit souci dans le script ci-dessous,
je ne sais pas comment utilise cette fonction pour remplacer les valeur d'un tableau.

j'ai essayé pleins de syntaxes et j'ai essayé avec des boucles mais je n'arrive pas a "extraire" les value du array.
donc je vous presente le 1er code que j'ai fait, puisque toutes mes modifs ne donnent rien.

En gros je sais que c'est une broutille, jai le mot array qui s'affiche (texte et lien) à la place du pseudo.

<?php
function CreerLienNom ($nomMembre) {
global $u_Fiches;
return '<a href="'.$u_Fiches.'/fiche.'.$nomMembre.'.php" target="_blank">'.$nomMembre.'</a>';
}

$nomMembre = array('/Lolipops/','/Holigana/','/MartinP02/');

function Affichtexte ($texte) {
global $nomMembre;
// ici d'autres traitements pour mettre en highlight des mots issus d'une recherche (formulaire)
// qui retourne "$texte1"
// pas de souci de ce coté

$texte2 = preg_replace_callback($nomMembre, 'CreerLienNom', $texte1);

echo $texte2;
}
?>
Pas douée mais acharnée
lolipops
le 16/06/2005 à 06:46
lolipops
Lol
j'ai posté au lieu de visualiser, du coup j'ai oublié de vous remercier pour toutes infos...
A++
Pas douée mais acharnée
LA GLOBULE
le 16/06/2005 à 08:26
LA GLOBULE
$texte1 n'existe pas dans ta fonction, par conséquent, php ne sait pas ce qu'il doit modifier.

Ensuite, dans la fonction de callback, c'est un tableau qui est retourné, et non une chaine de caractères (fais un print_r pour t'en rassurer).
mojorisin
le 16/06/2005 à 12:04
mojorisin
Pourquoi ne pas utiliser une fonction appropriée aux tableaux hmmm?
array_walk est ton ami :)
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
lolipops
le 16/06/2005 à 15:24
lolipops
coucou,

heu si si $texte1 existe La Globule, il est creer suite à la 1ere manipulation que je n'ai pas laisse pour ne pas alourdir inutilement l'exemple. (voir commentaires)
Je prefere en effet renommer mes var a chaque etape pour pouvoir me servir des "paliers" si besoin, plutot que de tout mettre dans $texte.

Je vais regarder array_walk, mais en gros ce que je veux faire n'est pas possible avec cette fonction ? ou c'est juste que je ne sais pas le rediger ?

encore merci et a++
Pas douée mais acharnée
Bzh
le 16/06/2005 à 15:48
Bzh
preg_replace_callback s' utilise surtout avec les expréssions régulières.

C' est une fonction lourde car elle utilise le moteur des expressions régulières.

Si tu n' as pas besoin des expressions régulières utilise la foncton de mojorisin.
lolipops
le 17/06/2005 à 23:09
lolipops
coucou,

bon bah finalement j'ai utiliser un simple strtr ca marche bien et je controle mieux meme si bien sur c'est moins pro qu'une bonne fonction.

A++
Pas douée mais acharnée
LA GLOBULE
le 18/06/2005 à 02:46
LA GLOBULE
Excuse moi pour le $texte1 ;)
Je lis rarement les commentaires dans un code :)
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours