13 votes

Mettre du code PHP dans une chaîne de caractères

Comment mettre du code PHP dans une chaîne de caractères ?

$phpCode = '<? if($condtion){ ?>';

Pour une raison inconnue, lorsque je fais cela et que j'affiche le code, je n'obtiens pas la balise PHP d'ouverture, <? .

Ai-je oublié quelque chose ? Existe-t-il une meilleure façon de procéder ? Je suis actuellement en train de regarder le Documentation PHP sur les chaînes de caractères mais j'aimerais avoir votre avis.

Editer : La raison pour laquelle j'utilise des apsotrophes ( ' ) et non des guillemets ( " ), c'est parce que je ne veux pas que le code remplisse la valeur de la condition. Je veux qu'il renvoie l'information telle quelle.

12voto

John Conde Points 102874

Utilisation htmlspecialchars() :

$phpCode = '<? if($condtion){ ?>';
echo htmlspecialchars($phpCode);

6voto

Adder Points 1375

Vous devez echo htmlspecialchars($phpCode);

1voto

unkn0wn Points 1042

Essayez-les $str= htmlentities('<?php //***code***// ?>');

0voto

SidOfc Points 4338

Vous pouvez également utiliser des entités HTML.

Lorsque vous remplacez uniquement le crochet d'ouverture en PHP, le reste est considéré comme une chaîne de caractères lorsqu'il est analysé par echo :

<?php
    //&lt; is the HTML entity for '<' (without quotes).
    $str = '&lt;?php yourstring ?>';
    echo $str;
?>

Source Entités HTML

0voto

Subodh Ghulaxe Points 2346

Vous pouvez afficher le code PHP sous forme de texte de la manière suivante

$phpCode = '<? if($condtion){ ?>';
echo "<pre>";
echo htmlspecialchars($phpCode);
echo "</pre>";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X