Se connecter avec
S'enregistrer | Connectez-vous

mettre un scipt php dans une variable

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

je poser cette question, car j'ai decouvert la librairie geshi

Mon problème est que j'ai voullu utiliser geshi dans une regex

comme ceci:
$message = preg_replace('#\<code type="(php|html|delphi)"\>(.+)\</code>#isU', 'geshi_highlight($2, $1, $path);', $message);


ensuite la variable se dirige dans une base de donnée, puis je la ressore, et ça m'affiche ceci

Spoiler
'geshi_highlight(le_code_ce_met_bien_ici,php, $path);

c'est bon ça marche
voici le code pour mon script

$pattern = "!\<code lang="(php|html|css|javascript|sql|asp|)">(.*)\</code>!Us";
$hlcode = preg_replace_callback($pattern, "hl_code", $message);
$message='<div class="citation">'.$hlcode.'</div>';
function hl_code($matches) {
$glang = $matches[1];
$message = $matches[2];
$my_parse = new GeSHi($message, $glang);
$hl_parse = $my_parse->parse_code();
return $hl_parse;}


j'ai un petit problème, car j'ai voulu mettre le code coloré dans un cadre avec du css, donc cela fonctionne, mais quand je tape un texte normal il me met le cadre qui est reservé que pour le

code:

$message='<div class="citation">'.$hlcode.'</div>';



Sinon voici le rendu sur le forum

http://www.netonoff.com/index2.php?page=post_forum&search=11

c'est bon j'ai trouvé la solution

$pattern = "!\<code lang="(php|html|css|javascript|sql|asp|)">(.*)\</code>!Us";
$hlcode = preg_replace_callback($pattern, "hl_code", $message);
$message=$hlcode;
function hl_code($matches) {
$glang = $matches[1];
$message = $matches[2];
$my_parse = new GeSHi($message, $glang);
$hl_parse = $my_parse->parse_code();
$hl_parse = '<div class="citation">'.$hl_parse.'</div>';
return $hl_parse;}



Lassé par la pub ? Créez un compte
Tom's guide dans le monde