Gå til innhold

[BB Kode] [kode][/kode] Feil


Anbefalte innlegg

Har en del bb koder på min side. De vanlige [ b ], [ i ] og [ u ] for å nevne noen. Har også en [ kode ][ /kode ] som highlighter php koder. Alle utenom mellomrom inni seg selvfølgelig.

 

Koden ser veldig rar ut nå og flere ting er sikkert gjort om igjen, men har lenge strevd med dette og har bare blitt gal og prøvd alt. Beklager det.

 

Problemet er som følger:

 

Noe feil i [ kode][ /kode ] omgjøringen. Siden jeg gjør om alt rundt så blir fargeleggingen litt feil.

Farge klassene blir printet ut sammen i php koden. Se her:

 

http://aemile.net/blogg/les/kat/2/undermeny/3/id/2/

 

Koden ligger her:

 

http://pastebin.webforumet.net/v.php?id=729

 

Takker på forhånd!

 

PS: Vil egentlig ikke ha respons på koden. Heller forbedringer og svaret på problemet.

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

La merke til noe rart.

 

$melding = stripslashes($melding);
$melding = str_replace("<", "<", $melding);
$melding = str_replace(">", ">", $melding);
$melding = str_replace("<br />", "<br>", $melding);
$melding = str_replace("<br>", " <br>", $melding);
$melding = str_replace("<br />", "", $melding); 

 

Her setter du først "<" og ">" til lt og gt, ikke sant? Det vil si at alle de som kommer etter du ahr endra dem faktisk ikke vil skje, det vil ikke eksistere noen br-tag, for du har satt inn coden for lt istedenfor <.

 

$melding = stripslashes($melding);
$melding = str_replace("<br>", "<br/>", $melding);
$melding = str_replace("<", "<", $melding);
$melding = str_replace(">", ">", $melding);
$melding = str_replace("<br>", "<br/>", $melding); // Nødvendig siden vi bytter ut < og >

 

Helt i slutten har du også

$melding = nl2br($melding);

$melding = str_replace("<br />", "<br>", $melding);
$melding = str_replace("<br>", " <br>", $melding);
$melding = str_replace("<br />", "", $melding);

 

Der holder det med

$melding = nl2br($melding);

 

EDIT: Dette kan også være noe av problemet at fargene-klassen blir printa ut, siden du endrer frem og tilbake mellom < og lt

EDIT2: Det området rett etter [ kode ]-greiene dine er et sinnsykt rot, er jo umulig å se hva du har tenkt :p

Endret av Slettet+6132
Lenke til kommentar
Gjest Slettet+6132

for($i=0;$i<count($out[0]);$i++)
{
 $melding = str_replace($out[0][$i], "<br><b>Kode</b><br><table class='kode'><tr><td>
 ".highlight_string(str_replace(">", ">", str_replace("<", "<", $out[1][$i])), TRUE)."
 </td></tr></table><br>", $melding);
}

 

Noe må gjøres der, det ser jeg med en gang. Men jeg klarer se hva du har tenkt, og klarer heller ikke finne helt ut hva du vil med den delen. Du begynner med en replace, putter på noe highlight av to rare replacer og så putter på noe igjen? :hmm:

 

EDIT: Hvis du skal putte mer tenkst på en variabel, så kan du gjøre slik:

$melding = "<start av tabell og alt det der>";
$melding .= "<highlight-funksjoner osv her>";
$melding .= "<slutten av tabellen>";

 

Prøv å gjøre det slik istedenfor, for jeg klarer som sagt ikke helt å følge din tankegang med innholdet i loopen...

Endret av Slettet+6132
Lenke til kommentar

Jeg har gjort om litt. Fiksa litt i koden og kom fram til at hvis jeg relpacer de falske taggene mine feil så blir litt av koden farget, men hvis jeg replacer taggene mine riktig så blir den ikke fargelagt.

 

http://pastebin.webforumet.net/v.php?id=735

 

Slik den ser ut nå:

 

http://aemile.net/blogg/les/kat/2/undermeny/3/id/2/

 

Fått litt av banan2 med koden!

Endret av ThaMezzy
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...