2011-08-05 12 views
5

Jak mogę napisać kod PHP w PHP? Chcę to zrobić, ale to nie działa:Napisz kod PHP w PHP

<?php echo '<?php echo \'aoeu\'; ?>'; ?> 

nadzieję, że ktoś może mi dać wskazówkę,

Dziękujemy

+6

dlaczego to zrobiłeś? – Mark

+2

przychodzi mi na myśl automatyczne generowanie kodu. –

+0

Myślę, że nie chce wykonywać kodu; wydaje się, że chce go wypuścić na ekran i nie wyświetla się, ponieważ znaki <> nie są usuwane. –

Odpowiedz

2

Try This

< < < jest składni heredoc

<?php 

echo <<< EOF 

<?php 
echo <<< EOF 
EOF; 
?> 

EOF; 

?> 
12
<?php echo htmlentities('<?php echo \'aoeu\'; ?>'); ?> 
+0

http://stackoverflow.com/questions/46483/htmlentities-vs-htmlspecialchars – Brad

0

Ucieczka z łańcucha to wszystko, co musisz zrobić. Zrobiłeś to poprawnie. O ile oczywiście nie wypisujesz kodu HTML, użyj htmlspecialchars().

2
<?php echo '&lt;?php echo \'aoeu\'; ?&gt;'; ?> 

Jeśli nie uciec '<' i '>' będą wydrukowane jako znaczniki HTML.

0

jestem zakładając próbujesz pokazać <?php ?> znaczniki? Jeśli tak, po prostu użyj &lt zamiast <

3

Jeśli wypiszesz jakiś skomplikowany kod, zdecydowanie używaj silnika szablonu, takiego jak smarty. W przeciwnym razie twój kod będzie wyglądał kompletnie nieładnie.

Raz naprawiłem napęd ORM, który wyprowadza kod PHP bez użycia silnika szablonów. Generuje wszystkie klasy modeli oparte na plikach konfiguracyjnych XML. Ich kod był wielkim bałaganem. Nie rób tego.

0

Nie można tego zrobić bezpośrednio w sposób opublikowany.

PHP jest językiem skryptowym po stronie serwera, ponieważ jestem pewien, że wiesz. Oznacza to, że jest wykonywany przed wyświetleniem strony użytkownikowi.

W efekcie twój kod zapisuje tekst w przeglądarce, ale nie na serwerze. Jedynym sposobem na wykonanie kodu php wygenerowanego przez inny kod php jest zapisanie nowego kodu do pliku, a następnie uruchomienie pliku po wczytaniu strony.

0

Przykład 1

<?php  echo '<pre>', highlight_string('<?php 
include($_SERVER["DOCUMENT_ROOT"] . "/myclass/myform.php"); 
?>', true), '</pre>';  ?> 

Przykład 2
Zobacz php manual highlight-string

0

jestem pewien, czego potrzebuje silnik php (wezmę innego autora słów, za to, że htmlentities prace) , ale użycie vim the>> na końcu sprawi, że skończy się sekcja php code.

Zamiast po prostu to zrobić:

string = "<? echo somefunc('strparam'); ?" . ">"; 

Editor jest szczęśliwy.Jeśli jest lepszy sposób na zrobienie tego, daj mi znać!

0
echo '<div class="row"><div class="col-md-6 col-md-offset-3"><div class="alert alert-success" role="alert"><p style="text-align: center;">'. php code goes here .'</p></div></div></div>'; 
1

Można użyć highlight_string lub highlight_file jeśli używasz highligh_file trzeba wskazać plik php, który chcesz pokazać

<?php 
highlight_string('<?php echo\'hello\' ?>'); 
highlight_file("D:\local\ajax_bottom.php"); 
?> 

czy można połączyć zarówno której najlepszym rozwiązaniem dla mnie:

<?php 

$string=highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php"); 
highlight_string("$string"); 
?> 

czy można łączyć w różny sposób:

<?php 


highlight_string(highlight_file("D:\local\hatirlaticilar\Adminn\autocomplete\gethint.php")); 
?>