28. februar 2003 - 21:50Der er
9 kommentarer og 1 løsning
punkter midt i strengen skal highligtes
Hejsa
Sidder og laver et system til at lave php tutorials i - jeg leger lidt med highligt_string og det virker helt fint med at highligte en streng hentet i DB. Mit problem er at hvis jeg skriver noget alm. tekst bliver det jo også highligted, dvs det der skal være med f.eks fed står mellem <b>bla</b> og det skal det ikke!!
dvs jeg vil gerne have dele af strengen fortolket af highligt_string - jeg kan ikke hitte ud af hvordan hulen jeg gør det? - jeg har prøvet med split, men kan ikke få det til at virke - nogen forslag!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Arh ser hvad du mener!? Håber det her kan hjælpe dig!? <?php $string = " Test <IKKEFORTOLKES><b>blabla</b></IKKEFORTOLKES> <?php echo \"TEST\"; ?> bla bla <IKKEFORTOLKES>bla bla</IKKEFORTOLKES> <?php echo \"TEST\"; ?> "; $list = explode("<IKKEFORTOLKES>", $string); $highstring=""; foreach($list as $value) { $strings = explode("</IKKEFORTOLKES>",$value); $highstring .= $strings[0].highlight_string($strings[1], true); } echo $highstring; ?>
lige et hurtigt sprg - jeg har lavet en funktion ud fra dit script - sådan at den finder de steder hvor der er php kode som skal fremhæves, MEN hvis jeg skriver alm. tekst mee <b> osv før den første [php] så highlighter den det?? (håber det er forståeligt) og derefter er der ingen probs - kan mna løse det på en fix måde?
indtil videre har jeg løst det ved at inden jeg smider en tekst i databasen tilføjes aller øverst [php][/php], men det virker lidt kluntet, synes jeg selv - og jeg tænkte det måske kunne gøres smartere?
det virker helt perfekt - tak - har du noget imod lige at forklare mig et par små ting - så jeg ikke bare bruger funktionen i blinde - vil helst gerne forstå ;o) - det er bare lige et par småting
function codehighlight($str){ //ok $list = explode("[php]",$str); //man finder alle steder [php] er og får et array opdelt ud fra denne "opdeler" $highstring=""; //hvorfor starte en tom streng? $i=0; //tæller startes foreach($list as $value){ //hvergang man finder [php] i list ... $strings = explode("[/php]",$value); // strings finder alle endelser[/php] og danner et array if($i==0) //hvis i=0 - vil den ikke altid være det første gang? { $highstring .= implode("", $strings); //indsætter intet - streng uændret } else { $highstring .= highlight_string($strings[0], true).$strings[1]; //highlight + strengen efter uden highlight -IK? } $i++; //plus 1 } echo $highstring; //strengen udskrives }
Synes godt om
Slettet bruger
02. marts 2003 - 12:47#9
function codehighlight($str){ //ok $list = explode("[php]",$str); //man finder alle steder [php] er og får et array opdelt ud fra denne "opdeler" $highstring=""; /*hvorfor starte en tom streng? Bare god skik når man bruger ".="*/ $i=0; //tæller startes foreach($list as $value){ //"Hopper" igennem arrayet $list $strings = explode("[/php]",$value); // strings finder alle endelser[/php] og danner et array if($i==0) //hvis i=0 - vil den ikke altid være det første gang? Jo { $highstring .= implode("", $strings); /*Modsat af explode(); "" bruges til at samle arrayet*/ } else { $highstring .= highlight_string($strings[0], true).$strings[1]; /*highlight + strengen efter uden highlight -IK? Jo*/ } $i++; //plus 1 } echo $highstring; //strengen udskrives }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.