sim Skrevet 22. mai 2004 Del Skrevet 22. mai 2004 (endret) Jeg driver med et lite prosjekt, og holder nå på med en bbcode-parser. Jeg holder på å lage noe til code-taggen. Inni denne vil jeg gjerne bruke highlight_string()-funksjonen, men det viser seg at det ikke er så lett i og med at jeg også har html inni preg_replace()-funksjonen. Slik ser det ut: // [code]-tag $text = preg_replace("/\[code\](.+)\[\/code\]/U", "<div class=\"code\">highlight_string(\\1)</div>", $text); Jeg vet at denne ikke fungerer, den gir: highlight_string(Praesent justo. Donec vestibulum cursus felis. Mauris sed libero sed quam volutpat gravida. Sed tincidunt, nunc non fringilla semper, lacus eros molestie ipsum, ac fermentum nisl metus sit amet nulla. Nulla facilisi. Praesent vel massa eget felis faucibus egestas. ) Hvordan får jeg dette til å fungere skikkelig ? Endret 22. mai 2004 av sim Lenke til kommentar
jorgis Skrevet 22. mai 2004 Del Skrevet 22. mai 2004 Bruk søkefunksjonen, og du hadde funnet ut at jeg har postet en grei løsning på dette her Lenke til kommentar
sim Skrevet 22. mai 2004 Forfatter Del Skrevet 22. mai 2004 Aah, takker Må ha oversett denne da jeg søkte tidligere, eller kanskje jeg brukte feil søkeord Lenke til kommentar
sim Skrevet 22. mai 2004 Forfatter Del Skrevet 22. mai 2004 Jeg brukte koden i den andre tråden, men det eneste som vises inni div-en er ett 1-tall, teksten som er highlighted vises utenfor div-en. Lenke til kommentar
jorgis Skrevet 22. mai 2004 Del Skrevet 22. mai 2004 Kan du vise hvordan du brukte funksjonen? Evt. litt kode, både før og etter? Funker forresten helt fett der jeg bruker den funksjonen. Lenke til kommentar
sim Skrevet 22. mai 2004 Forfatter Del Skrevet 22. mai 2004 Linja der funksjonen brukes i nyheter.php echo "<div class=\"artikkelinnhold\">" . artikkelbilde($line[bildeid]) . bbcode(nl2br($line[innhold])) . "</div>\n"; Denne ligger i funksjonen bbcode() $text = preg_replace("/\[code\](.+?)\[\/code\]/isUe", "highlight('\\1',true)", $text); Funksjonen highlight() function highlight ($tekst,$format) { $tekst = stripslashes($tekst); $tekst = highlight_string($tekst); if ($format == true) { $tekst = "<div class=\"code\">$tekst</div>"; } return $tekst; } I din funksjon hadde du $tekst = highlight_string($tekst, true); Denne får jeg Warning: Wrong parameter count for highlight_string() Jeg er rimelig nybegynner på dette, så det er ikke alt jeg forstår meg på. Men det går greit å kalle en funskjon inni en annen funksjon ? Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Kalling av andre funksjoner inni funksjoner går greit, spesielt siden highlight_string() er en funksjon som er innebygd i selve PHP-motoren. Den siste parameteren, true, er der for at funksjonen bare skal returnere svaret som en streng og ikke bare printe det ut. Kjekt hvis du vil manipulere det litt videre. Grunnen til at du får kun tallet 1 i retur, tror jeg er fordi highlight_string() krever at du starter og slutter strengen med <?php og ?>. Hvis ikke vil den ikke funke. Er i samme slengen usikker på hvor godt / fungerer som avgrensning i preg_replace(). Prøv å bytt den ut med #, slik som i mitt eksempel. Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 (endret) Hei igjen Jeg får det ikke til å fungere. Jeg tror jeg fant ut det angående return-parameteret. Note: The return parameter became available in PHP 4.2.0. Boksen jeg jobber på har kun versjon 4.1.2. Endret 23. mai 2004 av sim Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Sikker på at du har med <?php og ?> i strengen du setter highlight på? Kommer det opp noen feilmeldinger? Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 Sikker på at du har med <?php og ?> i strengen du setter highlight på? Kommer det opp noen feilmeldinger? Jeg prøvde å sette inn "<?php ?>" inn i strengen. Strengen ble blå, men den ville ikke plassere seg der jeg ville ha den. Kort sagt, det funka ikke. Tror kanskje jeg bare gir opp dette akkurat nå, lar det ligge, og jobber videre med litt andre ting . Takk for hjelpa iallefall. Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Hva mener du med at den ikke plasserte seg der du ville ha den? Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 Det blir seende slik ut: http://sim.jubalon.net/nyside/design/index.php?art=2 Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 (endret) Merkelig. Har aldri støtt på det fenomenet før. Endret 23. mai 2004 av jorgenindahouse Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 Kan det ha noe med PHP-versjonen å gjøre ? Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 Det var nok PHP-versjonen som skapte problemene. http://alfons.jubalon.net/~simon/nyside/de...index.php?art=2 Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Oki. Bra at det funket til slutt. Lenke til kommentar
sim Skrevet 23. mai 2004 Forfatter Del Skrevet 23. mai 2004 Oki. Bra at det funket til slutt. Kjipt når ting ikke funker pga. versjonsfeil og ikke kodefeil. Kodefeil er iallefall enklere å oppdage. Takk for hjelpa Lenke til kommentar
jorgis Skrevet 23. mai 2004 Del Skrevet 23. mai 2004 Jupps. Holdt på å mekke litt på en filadministreringsgreie, men oppdaget etter en stund at en funksjon jeg slet litt med ikke kom før PHP5. Bare hyggelig, forresten. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå