Jo alltså...
Jag har en PHP+MySQL lösning..
I databasen lagrar jag allt möjligt... Bland annat vad jag kallar nyheter. Denna tabell innehåller nyheter om vad som händer på min sajt. Nåväl... Dessa nyheter uppdaterar jag genom ett vanligt HTML formulär med en textruta.
Nu är det så att om jag skriver en nyhet är det ju ganska vanligt att dela upp texten i stycken. När kag lägger in texten så försvinner ju dock dessa? Eller?
Vad är det bästa sättet att lösa detta på? Skall man vid inläggningen i databasen ovandla dessa till <P> taggar? eller finns det bättre sätt?
Kanske behöver förklara lite bättre...
När jag hämtar infon från databasen igen och lägger i en vanlig string så tappar jag ju alltså alla stycke-indelningar som finns i tabellen...
Lägga in verkar fungera ok då jag använder en textbox för detta men hämta misslyckas då jag använder en string...
Hur löser man detta på bästa sätt...?
AsterixMedlem sedan dec. 1999483 inlägg Kör nl2br efter du plockat ut strängen. Det gör alla radbrytningar till <br> vilket görs att de syns.
snyggt!
Precis vad jag behövde!
Detta leder oss in på nästa problem... Vore ju kul att, som i de flesta forum, byta ut :-) till en riktig smiley. Finns det en liknande snygg funtion fö detta? Eller måste man göra det manuellt?
Om man måste göra en egen funktion finns det två sätt som jag ser det.
Dels kan man kolla igenom 'inlägget' innan man lägger in det i databasen och byta :-) mot en sökväg till en gif. Fördelen är ju att man bara behöver göra det en gång. Alltså... man lägger ju bara in texten en gång och läser den flera gånger... borde ju bli effektivare att det redan är klart när den skall presenteras på en sida. Nackdelen är ju att man måste gå igenom hela databasen och ändra de redan befintliga 'inläggen'.
Dels kan man kolla igenom texten när man hämtar ut den från databasen...
Finns det bättre sätt?
Kör denna när du läser från db'n:
$text = str_replace( ";)", " <IMG SRC=\"images/site/forum/smileys/flirt.gif\"> ",$text);
precis... men skall jag göra detta när jag lägger in texten i databasen eller när jag hämtar den?
ok... Varför är det bättre?
Du lägger ju in den i databasen en gång och hämtar den flera gånger. Borde inte konverteringen ske vid inläggandet i databasen för att spara tid när den sedan skall hämtas?
Eller spelar det ingen roll?
SPiNMedlem sedan mars 20007 896 inlägg Det är enklare att ändra något i efterhand om du gör alla formateringar vid hämtning av data - annars måste du in i databasen och ändra manuellt allt som ska ändras.
Plus att du kan ha striptags() på det du lägger in så att de inte kan lägga in html kod... men du kan eftersom du gör det när du hämtar ;)
Jag föredrar att konvertera smileys och annat direkt vid insättningen i databasen. Om jag skulle vilja ändra allt i efterhand är det en enkel sak att skriva ett script som går igenom samtliga inlägg i databasen och ändrar dem.
Striptags kan man ju använda ändå, innan konverteringen görs.
Jo det borde ju vara bättre att göra det vid inläggning för att spara på tiden för att skapa en sida?
Men det kanske är hugget som stucket... kanske inte vinner så mycket tid iaf?
Jag tror att det inte sparas någon tid... inte som någon av oss dödliga kommer att märka i alla fall