Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vdepizzol

String em código

Recommended Posts

tente assim:

<?$version = "versao do php: " . PHP_VERSION;echo $version;?>

voce estava errando no seguinte.. o php_version é uma constante nao uma variavel, sendo assim ela nao pode estar dentro de "" ^^[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que a dúvida dele era um pouco diferente... por exemplo, vamos supor que você grave o código PHP num arquivo .txt ou num banco de dados, aí você quer executar o que está contido lá...

 

Pra isso, existe a função eval() ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fui testar aqui em casa e deu pau....

 

Olha só...

 

Estou querendo fazer com que o q estiver entre as tags [*PHP] e [*/PHP] seja interpretado pelo servidor como código e q seja executado... para isso, usei a seguinte funcao (que é uma pequena modificacao dessa funcao aqui: link:

 

PHP

[*]function php($mensagem) {

[*] $modificado = preg_match_all("/\[php\](.*?)\[\/PHP\]/", $mensagem, $match);

[*]

[*] if ($modificado) {

[*] $cont = 0;

[*] foreach ($match[0] as $valor) {

[*] $html = eval(html_entity_decode($match[1][$cont]));

[*] $arrayMod[$valor] = $html;

[*] $Conteudo = strtr($mensagem, $arrayMod);

[*] $cont++;

[*] }

[*] return $Conteudo;

[*] } else {

[*] return $mensagem;

[*] }

[*]}

 

Acontece que, se a pessoa digita:

 

A versão do PHP é [*PHP]echo PHP_VERSION;[*/PHP].

Sai isso:

 

4.3.10

A versão do PHP é .

 

Ou seja, o resultado não acompanha o codigo...

 

Teria como o resultado aparecer no lugar em que foi colocado o php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP

[*]function php($var)

[*]{

[*] preg_match_all('/(\[php\])(.+?)(\[\/PHP\])/si',$var,$match);

[*] $codigos = $match[2];

[*] foreach($codigos as $i => $c)

[*] {

[*] $a = $match[1][$i];

[*] $b = $match[3][$i];

[*] if("<?" == substr($c, 0, 2))

[*] {

[*] $var = str_replace("$a$c$b",highlight_string("\n\n".$c."\n\n", TRUE),$var);

[*] } else {

[*] $var = str_replace("$a$c$b",highlight_string("\n\n<?php\r\n\n".$c."\n\n?>\n\n", TRUE),$var);

[*] }

[*] }

[*] return $var;

[*]}

 

e assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.