| Autor | Zpráva | ||
|---|---|---|---|
| Someone Profil |
#1 · Zasláno: 28. 4. 2012, 18:55:02
Dobrý den, do teď jsem pro zvýrazňování syntaxe v PHP používal přímo PHP funkci highlight_String(). Nyní jsem se rohodl ukládat texty do DB, což znamená, že funkci highlight_String() nemůžu používat přímo v textu. Tak jsem se pokusil sestavit něco s BBCode... nejdříve jsem zkoušel funkci preg_match, ta ovšem nepodporuje aby text, který má nahradi text původní byl vygenerován funkcí. Tak jsem se dostal až k funkci preg_match_callback()... A sestavil jsem toto:
<?php
function zvyraznit($co) {
$text = highlight_String("<?php\n".$co[2]."?>");
return $text;
}
$text = "<p>echo\"SEDMMMM\"; ghuihguig echo\"SOSM\";</p>";
$text = preg_replace_callback("/(\[pre\])+(.*?)(\[\/pre\])+/","zvyraznit",$text);
echo '
<div class="obsah">
'.$text.'
</div>
';
?><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo</span><span style="color: #DD0000">"SEDMMMM"</span><span style="color: #007700">;</span><span style="color: #0000BB">?></span> </span> </code><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo</span><span style="color: #DD0000">"SOSM"</span><span style="color: #007700">;</span><span style="color: #0000BB">?></span> </span> </code> <div class="obsah"> <p>1 ghuihguig 1</p> </div> echo '
<div class="obsah">
'.preg_replace_callback("/(\[pre\])+(.*?)(\[\/pre\])+/",function($shody) {return highlight_string($shody[2]);},"<p>echo\"SEDMMMM\"; ghuihguig echo\"SOSM\";</p>").'
</div>
';Také nepomohlo... prosím vás, nevíte co s tím? |
||
| Tori Profil |
#2 · Zasláno: 28. 4. 2012, 21:10:42
Someone:
Koukněte se, k čemu je druhý parametr highlight_string. |
||
| Someone Profil |
#3 · Zasláno: 28. 4. 2012, 21:42:23
Ve snu by mě nenapadlo, že je defaultně nastavené printování.. Děkuju moc.
|
||
|
Časová prodleva: 13 let
|
|||
0