Autor Zpráva
Tomashek
Profil
Dobrý den. Přicházím s prosbou o pomoc.
Mám formulář, do kterého pomocí javascriptu vložím značky [php][/php] a chci, aby text mezi těmi značky se přeměnil na eval
tzn ze kdybych měl například
[php]echo'vypíše to';[/php]
, tak by to po odeslání vypsalo normálně jenom vypíše to
tiso
Profil
Tomashek - uložíš obsah toho súboru ako dočasný php súbor pod nejakým názvom a potom načítaš jeho obsah cez file_get_contents($url), ten si niekam uložíš a zmažeš ten dočasný súbor. Pokiaľ sa má ten obsah meniť, tak ten obsah nemusíš ukladať a ten PHP súbor budeš stále používať.
AM_
Profil
Záleží, kam ten formulář ukládáš. Pokud do includovaného souboru, stačí

$vystup = preg_replace('/\\[php\\](.*?)\\[\/php\\]/', '<?php \\1 ?>', $vystup);


Pokud do databáze, nebo souborů načítaných přes souborové funkce, nechal bych to uložené v původním zápisu, při načítání zavolal
preg_match_all('/\\[php\\](.*?)\\[\/php\\]/', $vstup, $matches, PREG_SET_ORDER);
foreach($matches as $match){
  eval($match[1]);
}

Kódy jsem netestoval, ale měly by fungovat.
Tomashek
Profil
díky, funguje to

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: