bonjour à tous,
Comment faire pour utiliser la fonction

highlight_string($str)

sans qu'elle soit interpretée ?!

en gros ce que je voudrais faire c'est ;

$str  = $variable->maClass($var , array(
                                                        '...' => '...',
                                                ), 
                                        '...'
                                        ) ; 

echo highlight_string($str) ;

et que cela retourne :

$variable->maClass($var , array(
                                                        '...' => '...',
                                                ), 
                                        '...'
                                        ) ; 

Merci pour votre aide,
bonne journée

12 réponses


Je ne comprends pas la question :(

Si je fais

$str  = $variable->maClass($var , array(
                                                        '...' => '...',
                                                ), 
                                        '...'
                                        ) ; 

echo highlight_string($str) ;

cela retourne le code html (dans mon cas) de $variable->maClass() en version highlight_string()

Or je voudrais que cela retourne en version hightlight_string

$variable->maClass($var , array(
                                                        '...' => '...',
                                                ), 
                                        '...'
                                        ) ; 

en gros comme ci

$variable->maClass($var , array(
                                                        '...' => '...',
                                                ), 
                                        '...'
                                        ) ; 

était une chaine et non un code PHP a interpreter .

Tu vois ou bien ?

Merci :)

Et si tu englobes dans des simples cotes

$str = '<?php $variable->maClass($var , array(
"..." => "...",
),
"..."
) ; ?> ';

la doc dit aussi qu'il faut qu'il y ait les balises php

Je dois mal m'expliquer ...
en gros je voudrais faire ceci

<?php

class maClass {
        public function maFunction() {
                return '<div>Le Lorem Ipsum est simplement du faux texte...</div>';
        }
}

$variable = new maClass() ;
$str  = $variable->maFunction() ;

// retourne >> <div>Le Lorem Ipsum est simplement du faux texte...</div>
highlight_string($str) ; // logique ... 

echo '<br />';

// or je voudrais que cela retourne ceci .. 
highlight_string('$variable->maFunction() ;') ;

// mais en le codant comme ceci 
highlight_string($str) ;

?>

merci :)

Hmm si je comprend bien tu veux afficher le nom de la variable ainsi que le nom de la fonction et non la valeur retournée.

c'est ca :)

@sudovim => merci pour ta réponse, cependant je ne suis pas sur que tu es compris le post.

A moins de faire :
$str = '$variable->maFunction() ';

Ce n'est pas possible. Car si tu n'entoure pas de ' ta variable $str va se retrouver avec la valeur de retour, elle ne conserve pas la méthode utilisée pour l'obtenir.

@bibilolo , Se que cherche a faire n'est pas possible. Si tu nous dissé plutot quelle en est l'application que tu cherche a obtenir, on pourrai peut etre trouver une solution.

@Gannon => l'idée est de :

  1. faire un echo de $str .. pour voir le résultat
  2. de voir quel est le code PHP qui a permis d'avoir ce résultat et lui donner une colorisation syntaxique.
<?php
// cad retouner ceci colorisé .. 
highlight_string('$variable->maFunction() ;') ;

// mais en le codant comme ceci, de sorte a ne pas réécrire la variable
highlight_string(Quitte_a_ajouter_une_fonction_ici($str)) ;
?>

Merci

Je voulais plutot savoir pourquoi tu ne veut ou ne peut mettre ton code function entre guillements. Des fois on se lance dans une idée farfelu , compliqué alors que la réponse est évidente et simpliste d'un regard exterrieur.

Si vraiment tu y tient, il faut peut-etre regarde du coté des outils de debug. Certaine enregistre peut-être les piles d'appelles ...

Si j'écris ceci
highlight_string('$variable->maFunction() ;') ;

je réécris donc ma variable $str et c'est ce que je voudrais éviter en fait...
Ou alors je n'ai pas compris ta réponse ?!^^

Des fois on se lance dans une idée farfelu , compliqué alors que la réponse est évidente et simpliste d'un regard exterrieur.
C'est bien vrai :)