14. februar 2007 - 14:37Der er
23 kommentarer og 1 løsning
Tæl ord
Jeg fik for et par dage siden hjælp til at tælle ord med substr() og det virker, som det skal, men det fører også et par minusser med sig - det er så det, jeg sørger hjælp til nu :)
Hvis der er mange æ, ø og å i det, der skal tælles, bliver det noget kortere, da "måske" i min database ligger som "måske" og dermed er det pludselig ikke længere 5 bogstaver men 11. Det kunne jeg godt leve med, men det næste problem er så, at er de sidste 5 bogstaver netop "måske", vil det blive vist som "m&ari", hvilket jo ikke er helt tilfredsstillende.
Kan man derfor tælle hele ord eller måske endnu bedre bogstaver, men EFTER "å" er lavet om til "å"?
Jeg prøvede lige med substr(htmlspecialchars($row['historie']), 0,200) - men det havde stort set den modsatte effekt, nu udskriver den alle æ, å ogå som der html koder :) - så prøvede jeg en htmlspecialchars_decode, men den dele stadig ordet det forkerte sted.
Kunne man stadig får den til at tælle bogstaver som nu, men ikke dykke ned midt i et ord og fortsætte til det første mellemrum, så ville den være hjemme :)
Jeg skulle ikke mene, det er databasen, men jeg har bygget alt det sikkerhed ind jeg kan og i den forbindelse bliver koden lave om til alle disse tegn.
Og hvis du så bruger min funktion til at decode din streng, som vist nedenstående, burde du også få det resultat du ønsker, altså en tekst på 200 tegn, efter dine html-entities er konverteret til læselige tegn og bogstaver:
function htmlspecialchars_decode_PHP4($str) { return strtr($str, array_flip(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES))); }
echo "<table width='100%' class='tabeltekst' border=0>"; $query = mysql_query("SELECT * FROM lovestories order by lovestory_id DESC"); while($row = mysql_fetch_assoc($query)) {
kinderaeg, det virker med æ, ø og å, men det betyder samtidig, at det html bliver udskrevet på siden og det var det, jeg gerne ville udgår. Har du noget ideer til det?
Halløj zynzz :) Det bliver slet ikke udskrevet nu, da alt html bliver gemt som html-koder - men det fører så det problem med sig, som du kan se i mit start indlæg, når jeg trækker en appetitvækker ud fra hver i historie, når jeg tæller bogstaver.
Ja ok, hvis de stopper midt i en html-formatering, så gør den selvfølgelig. Hvis jeg antager at du ikke ønsker formateringen i dit korte resume, kan du fjerne alle tags med preg_replace("/<([^>]+)>/i", '', $str) først. Hvis du vil beholde formateringen, skal du ud i noget lidt mere avanceret.
argh okay jeg er med, men som kinderaeg siger hvis du vil forsat vil beholde htmlkode efter forkortelse er det noget mere advanceret du skal have fat i..
Var faktisk også det jeg mente med det jeg skrev.. :), men troede så efterfølgende at du ville have alt dit html med, så den ikke stoppede midt i en html streng... :)
Men pøj pøj med det ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.