Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kolorowanie składni kodu php na stronie
Forum PHP.pl > Forum > PHP
Lwie_Serce_
Chciałem się zapytać w jaki sposób na mojej stronie www mogę zrobić kolorowanie składni kodu php ? Bo jak narazie mam zrobiony taki bbcode [code][/code] np. u mnie w temacie taki kod wygląda tak: http://www.history.is.net.pl/faq/1/4
W jaki sposób zrobić tak, żeby te kody mi kolorowało ? może ktoś mi pomóc w tym ?
mstraczkowski
Funkcja highlight_string lub biblioteka Geshi
acidm
show_source
Lwie_Serce_
Czyli do kazdego kodu php, który pokazuje na mojej stronie musze dodawać jakiś inny kod który kolorowałby mi składnie tego kodu php ? czy w jakiś inny sposób to zrobić ?
Prosze o pomoc tak żebym poradził sobie to zrobić .
skowron-line
http://www.webresourcesdepot.com/11-syntax...e-presentation/
do wyboru do koloru z przykładami i opisem
Lwie_Serce_
To jest tak tam napisane że ja nic z tego nie wiem bo jest w j.angielskim. Może ktoś mi pomóc to zrobić ? sad.gif
_Borys_
W przypadku highlight_string() wrzucasz kod który chcesz pokolorować do tej funkcji highlight_string() i to wszystko.
Kolorowanie składni
Lwie_Serce_
Zrobiłem tak i nie działa mi sad.gif
Kod
<?php
highlight_string('<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>');
?>

Takie jak poniżej też mi nie koloruje składni kodu sad.gif
Kod
<?php
$code = '<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>';
highlight_string($code);
?>

Możecie pomóc ?
_Borys_

albo
  1. echo highlight_string($zmienna_z_kodem);

Jak chcesz kolorować html i js to zastosuj co innego np. geshi
Lwie_Serce_
Nie rozumie o co Ci chodzi ? że brakuje mi echo w moim kodzie czy co ? moze ktos mi pomóc sad.gif sad.gif
teez
Cytat(Lwie_Serce_ @ 6.03.2013, 20:18:37 ) *
Nie rozumie o co Ci chodzi ? że brakuje mi echo w moim kodzie czy co ? moze ktos mi pomóc sad.gif sad.gif



Przecież dał Ci wyżej rozwiązanie.
Lwie_Serce_
to mam to zrobić tak ? :
Kod
<php
echo highlight_string('<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>');
?>
_Borys_
No tak, przecież musisz wyświetlić to co kolorujesz.
Lwie_Serce_
Nie działa mi to wogóle, nie koloruje mi kodu sad.gif takie rozwiazanie:
Kod
<php
echo highlight_string('<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>');
?>

Możecie pomóc ?
_Borys_
Pokaż więcej kodu, w czym to wyświetlasz.
Lwie_Serce_
Jestem w panelu admina mojej strony i tam edytuje np. ten wpis: http://www.history.is.net.pl/faq/1/2
Chce zeby mi te kody moje pokolorowalo ktore sa na tle ciemno niebieskim.
I te rozwiazania co mi dajecie nie dzialaja sad.gif Mozecie mi pomoc ?
hind
  1. <?php
  2. echo highlight_string('<?php if(!isset($_GET[\'cat\']) && !is_numeric($_GET[\'faqid\']) ){ ?>');
  3. ?>
_Borys_
To nie pomoże mu, pewnie wyświetla kod pomiędzy [CODE][/CODE], i musiałby ingerować w klasę BBCODE albo co tam ma i z panelu admina nic nie poradzi.
Spróbuj [CODE=php][/C ODE] ale wątpię że zadziała,zrobiłem spację bo wyświetlało mi w BBCODE.
Lwie_Serce_
Dokładnie wyswietlam kod w bbcode [c ode][/c ode] w panelu admina i ten przykład co podałeś też nie działa bo wtedy zamiast kodu mam to : [code=php]'); ?>[/c ode]
A zrobilem to tak:
Kod
[code=php]<?php echo highlight_string('<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>'); ?>[/c ode]

Mozecie mi jakos pomoc ?

Ten ponizszy wpis tez u mnie nie koloruje kodu sad.gif
Kod
<?php echo highlight_string('<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>'); ?>
_Borys_
A tak tylko ?
  1. <?php echo'<?php if(!isset($_GET['cat']) && !is_numeric($_GET['faqid']) ){ ?>';

W swoim [CODE] dopisz tylko =php aby było tak [CODE=php]
Jak to nie zadziała to jak mówiłem, musisz poprawiać skrypty php od wewnątrz, z panelu admina nic nie zdziałasz.
Lwie_Serce_
_Borys_ zrobiłem tak, ale zamiast kodu zrobiło mi się tak: [code=php]';[/c ode]
I nie koloruje mi kodu dalej sad.gif
!*!
To musisz edytować kod PHP, aby parsował to poprawnie.
Lwie_Serce_
czyli jak to mam zrobić żeby mi kolorowało kod ?
!*!
Zleć to komuś w dziale Oferty. Tak będzie najszybciej. Lub wklej tu kod z pliku który za to odpowiada.
Lwie_Serce_
faq_pytanie.php
Kod
<div class="faq-pytanie">
    <ul class="mapa-linkow"><li><h2>&raquo; <a href="/faq">FAQ</a></h2></li><li><h2>&raquo; <a href="/faq/<?php echo $id_kategorii; ?>"><?php echo $nazwa_kategorii; ?></a></h2></li></ul>
<h2><?php echo $pytanie['pytanie']; ?></h2>
<div><?php echo bbcode_code($pytanie['odpowiedz']); ?></div>
</div>

faq_pytania.php
Kod
<div class="faq-pytania">
    <ul class="mapa-linkow"><li><h2>&raquo; <a href="/faq">FAQ</a></h2></li><li><h2>&raquo; <a href="/faq/<?php echo $id_kategorii; ?>"><?php echo $nazwa_kategorii; ?></a></h2></li></ul>
<?php if (empty($pytania)) {
    ?><p>Kategoria jest pusta</p><?php
} else {?>
    <ul class="lista-pytan"><?php
    foreach ($pytania as $pytanie) {
        ?><li><a href="<?php echo $root . '/' . $pytanie['id']; ?>"><?php echo $pytanie['pytanie']; ?></a></li><?php
    }
    ?></ul><?php
}
?>
</div>

Tak wygladaja moje pliki ktore odpowiedzialne sa za dodawanie tresci na moja strone z kodami php ktore tam zamieszczam. POmoże mi ktoś ?
!*!
A gdzie parser bbcode?
Lwie_Serce_
mam w css zrobione tak:
Kod
pre.code {
    margin: 5px;
    padding: 10px;
    border: 1px solid #4684C1;
    background-color: #4684C1;
    overflow: auto;
}
!*!
To nie jest PHP.
Lwie_Serce_
no wiem, bo to jest w css
ale w php tego nie moge znalesc, jedynie mam w js
Kod
var id='txt';
// ---------- Poniżej tej linii nie trzeba nic zmieniać ----------
var T={}, id='txt';

function $add(con, el, t){
    el=$get(el||id); el.focus();
    if((t=document.selection)&&t.createRange)
        t.createRange().text=con;
    else if(el.selectionStart!==undefined){
        t = el.selectionStart;
        el.value=el.value.substring(0, t)+con+el.value.substr(el.selectionEnd);
        $select(el, t += con.length, t);
    } else
        el.value+=con;
    el.focus();
}
function $sel(e,t){e=$get(e||id);e.focus();return (t=document.selection)&&t.createRange?t.createRange().text:e.value.substring(e.selectionEnd|0,e.selectionStart|0)}
function $get(el){return el.tagName ? el : document.getElementById(el)}
function $status(id, tag, val, r){r=T[id][tag];if(val!==undefined)T[id][tag]=val|0;return r}
function $select(e, from, to){
    e=$get(e);e.focus();
    if(e.setSelectionRange)
        e.setSelectionRange(from, to);
    else if(e.createTextRange) {
        e = e.createTextRange();
        e.collapse(true);
        e.moveEnd('character', to);
        e.moveStart('character', from);
        e.select();    
    }
}

function bbcode(tag, opt, s){
    opt = opt || {};
    var t = opt.name || id, attr = 'attr' in opt ? '' + opt.attr : '';
    T[t] = T[t] || {};
    if(s=$sel(t))
        $add('['+tag+attr+']'+s+'[/'+tag+']',t);
    else {
        (s=T[t])[tag]|=0;
        $add('['+(s[tag]?'/':'')+tag+(s[tag]?'':attr)+']',t);
        s[tag]^=1;
        mark($get(t).form, tag, s[tag]);
    }
}
function mark(frm, name, opened, t){
    frm = frm.getElementsByTagName('*');
    for(var i=0;t=frm[i++];){
        if(t.getAttribute('name')===name)
            t.value = opened ? '/'+t.value : t.value.substr(1);
    }
}

function emoticon(e){
  $add(e,'message');
}

function closeAllTags(name){
    var t = name || id;
    for(var i in T[t]){
        if(T[t][i]===0)continue;
        $add('[/'+i+']',t);
        T[t][i]=0;
        mark($get(t).form, i, 0);
    }
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.