Olis tarkoitus tehä semmonen koodi systeemi kun täällä putkassa on. Ongelmana on, että miten saa koodin eri pätkät väritettyy eri väreillä?
Siihen on oma funktio higlight_string().
Vaikka tarkoitus oli hyvä, pysytään nyt kuitenkin niillä manuaalin sivuilla:
https://www.php.net/manual/en/function.highlight-string.php
T.M. kirjoitti:
Vaikka tarkoitus oli hyvä, pysytään nyt kuitenkin niillä manuaalin sivuilla:
https://www.php.net/manual/en/function.highlight-string.php
Okei ;).. tietenkihän sieltä saa tarkemmat tiedot.
Mainittu funktio kelpaa tietenkin vain silloin, kun väritettävä koodi on PHP-kielinen. Muulloin pitää tehdä oma väritys. Itse olen havainnut parhaaksi väritystavaksi sen, että koodin merkit käydään läpi yksi kerrallaan. Jos merkkiin ei liity mitään erikoista, se vain lisätään palautettavaan merkkijonoon sellaisenaan. Mutta jos merkki vaikka aloittaa kommentin, merkkiä ennen lisätään HTML-tagi, jonka ansiosta väri muuttuu. Sitten kannattaa boolean-muuttujilla pitää kirjaa eri osuuksista, mm. kommenteista ja merkkijonoista, jotta väritys toimii oikein niidenkin sisällä.
Täydellinen selitys värityksen toteuttamisesta olisi vaikka kuinka pitkä, joten kysy toki lisää, jos jokin kohta ei valjennut...
Joo kiitos :) Epäselväksi jäi vain se, että onko sitten php:eessä oma fonktio tai jokin millä voi käydä läpi merkin yksi kerrallaan?
Ei merkkien läpikäymiseen kaiketi ole mitään erillistä funktiota, mutta seuraavantapaisen for-silmukan avulla tämä ei ole temppu eikä mikään:
<?php $teksti = "Tämä on esimerkki"; for ($i = 0; $i < strlen($teksti); $i++) { $merkki = $teksti[$i]; $uusi .= $merkki; } echo $uusi; ?>
Tässä esimerkissä $teksti-merkkijonon merkit kopioidaan yksi kerrallaan $uusi-merkkijonoon. Kukin merkki on omalla vuorollaan $merkki-muuttujan arvona, ja suoraan kopioimisen sijasta väliin voi tietenkin laittaa HTML-tageja, jotka muuttavat väriä, paksuntavat tekstin jne.
Kiitti (:
Aihe on jo aika vanha, joten et voi enää vastata siihen.