par
valentin45000 » 30 avr. 2010, 14:58
Triple post, je bat des records

Non sèrieusement, j'ai refait le code voici toute les explications :
J'ai installer Geshi.
Et maintenant dans chaque j'aimerais que si un membre écrit :
<codehtml>quelque chose</codehtml>
J'aimerais que ça soit remplacer par les balise de Geshi.
Le problème se situe ligne 28.
Donc j'ai fait :
<?php include('Geshi/geshi.php'); ?>
<html>
<head></head>
<body>
<?php
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
if (!empty($_GET['id'])){
$id_tutoriel = intval($_GET['id']);
$sql_tutoriel = $bdd->query('SELECT * FROM test WHERE id="'.$id_tutoriel.'" ');
$donnees = $sql_tutoriel->fetch();
function parseZCode($content) {
// Parsage des balises
$zcode = array(
'`<codehtml>(.+)</codehtml>`isU',
'`<italique>(.+)</italique>`isU',
'`<gras>(.+)</gras>`isU',
'`<barre>(.+)</barre>`isU',
'`<lien>(.+)</lien>`isU',
'`<lien url="(.+)">(.+)</lien>`isU',
'`<image>(.+)</image>`isU',
'`<citation>(.+)</citation>`isU',
'`<citation nom="(.+)">(.+)</citation>`isU',
'`<citation lien="(.+)">(.+)</citation>`isU',
'`<taille valeur="(.+)">(.+)</taille>`isU'
);
$html = array(
'<?php $source = \'$1\';$language = \'php\';$geshi = new GeSHi($source, $language);echo $geshi->parse_code(); ?>',
'<em>$1</em>',
'<strong>$1</strong>',
'<del>$1</del>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<img src="$1" alt="Image utilisateur" />',
'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
'<span class="$1">$2</span>'
);
$content = htmlspecialchars($content);
$content = preg_replace($zcode, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Rtours à la ligne
$content = preg_replace('`\n`isU', '<br />', $content);
return $content;
}
?>
<div style="overflow:auto;"><?php echo parseZCode($donnees['mess']);
?></div><?php
}
else{
echo "<b><font color=\"red\">Erreur 404</font></b>";
}?>
</body>
</html>
Mais ça ne me donne pas le bon truc, je vous laisse voir :
<head></head>
<body>
<form method="GET" action="conf.php">
Titre :<br>
<input type="text" name="titre"/><br>
Message:<br>
<textarea name="mess"></textarea><br>
<input type="submit"/>
</form>
</body>
</html>';$language = 'php';$geshi = new GeSHi($source, $language);echo $geshi->parse_code(); ?>
Comprenez vous le problème ?
Merci d'avance.
Cordialement.
Triple post, je bat des records :langue:
Non sèrieusement, j'ai refait le code voici toute les explications :
J'ai installer Geshi.
Et maintenant dans chaque j'aimerais que si un membre écrit :
[quote]<codehtml>quelque chose</codehtml>[/quote]
J'aimerais que ça soit remplacer par les balise de Geshi.
Le problème se situe ligne 28.
Donc j'ai fait :
[php]<?php include('Geshi/geshi.php'); ?>
<html>
<head></head>
<body>
<?php
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
if (!empty($_GET['id'])){
$id_tutoriel = intval($_GET['id']);
$sql_tutoriel = $bdd->query('SELECT * FROM test WHERE id="'.$id_tutoriel.'" ');
$donnees = $sql_tutoriel->fetch();
function parseZCode($content) {
// Parsage des balises
$zcode = array(
'`<codehtml>(.+)</codehtml>`isU',
'`<italique>(.+)</italique>`isU',
'`<gras>(.+)</gras>`isU',
'`<barre>(.+)</barre>`isU',
'`<lien>(.+)</lien>`isU',
'`<lien url="(.+)">(.+)</lien>`isU',
'`<image>(.+)</image>`isU',
'`<citation>(.+)</citation>`isU',
'`<citation nom="(.+)">(.+)</citation>`isU',
'`<citation lien="(.+)">(.+)</citation>`isU',
'`<taille valeur="(.+)">(.+)</taille>`isU'
);
$html = array(
'<?php $source = \'$1\';$language = \'php\';$geshi = new GeSHi($source, $language);echo $geshi->parse_code(); ?>',
'<em>$1</em>',
'<strong>$1</strong>',
'<del>$1</del>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<img src="$1" alt="Image utilisateur" />',
'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
'<span class="$1">$2</span>'
);
$content = htmlspecialchars($content);
$content = preg_replace($zcode, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Rtours à la ligne
$content = preg_replace('`\n`isU', '<br />', $content);
return $content;
}
?>
<div style="overflow:auto;"><?php echo parseZCode($donnees['mess']);
?></div><?php
}
else{
echo "<b><font color=\"red\">Erreur 404</font></b>";
}?>
</body>
</html>
[/php]
Mais ça ne me donne pas le bon truc, je vous laisse voir :
[quote]<head></head>
<body>
<form method="GET" action="conf.php">
Titre :<br>
<input type="text" name="titre"/><br>
Message:<br>
<textarea name="mess"></textarea><br>
<input type="submit"/>
</form>
</body>
</html>';$language = 'php';$geshi = new GeSHi($source, $language);echo $geshi->parse_code(); ?>[/quote]
Comprenez vous le problème ?
Merci d'avance.
Cordialement.