ashais13 Posted April 30, 2010 Report Posted April 30, 2010 Gribētu zināt kā panākt teksta sasīsināšanu ar noteiktu simbolu skaitu. - Precīzāk sakot, vajadzētu skriptu kas izveido funkciju kura izvelk no datubāzes noteiktu skaito ar Simboliem. Piemēram: Pilnais teksts datubāzē - "Iepazīšanās portāls ir veidots maksimāli funkcionāls, atmetot visu lieko un koncentrējoties uz būtisko.", un no datubāzes izvelk tikai "Iepazīšanās portāls ir veidots maksi..." Cerams domu sapratāt.. Quote
Pentiums Posted April 30, 2010 Report Posted April 30, 2010 (edited) function.mb-substr ceru ka domu saprati Edited April 30, 2010 by Pentiums Quote
Code Posted April 30, 2010 Report Posted April 30, 2010 Ja vēlies, vari arī pašā selektā atgriezt tikai daļu no teksta. SELECT CONCAT(LEFT(teksts,[garums]),'...') FROM tabula Quote
Pentiums Posted April 30, 2010 Report Posted April 30, 2010 Bet kā šāds selekts rīkosies ar multibyte simboliem? Quote
reiniger Posted April 30, 2010 Report Posted April 30, 2010 Labs variants lai vārdus nenorautu. <?php $text = $row_recap['text']; if (strlen($text) > 300) { $ext = "... <a href='readmore.php'>read more</a>"; } else { $ext = ""; } function elliStr($s,$n) { for ( $x = 0; $x < strlen($s); $x++ ) { $o = ($n+$x >= strlen($s)? $s : ($s{$n+$x} == " "? substr($s,0,$n+$x) . "..." : "")); if ( $o!= "" ) { return $o; } } } echo (elliStr("$text", 300)) . $ext; ?> Jo citreiz gadas ka pie garumzīmes tiek beigts attelot tekstu un tad pārlūkā parādas jautajuma zīme kvadratiņā... :) Quote
Code Posted April 30, 2010 Report Posted April 30, 2010 Bet kā šāds selekts rīkosies ar multibyte simboliem? Njā, tad gan īsti pareizi nestrādās... Quote
Pentiums Posted April 30, 2010 Report Posted April 30, 2010 Jo citreiz gadas ka pie garumzīmes tiek beigts attelot tekstu un tad pārlūkā parādas jautajuma zīme kvadratiņā... :) Bet tam jau domāts mb_substr!!!! Quote
Maris-S Posted April 30, 2010 Report Posted April 30, 2010 (edited) Kāpēc uzskatāt ka mysql nestrādās pareizi ar multibyte? Edited April 30, 2010 by Maris-S Quote
Pentiums Posted April 30, 2010 Report Posted April 30, 2010 es tā neuzskatu. es tikai jautāju, jo neesmu pārliecināts! būs jānotestē Quote
ashais13 Posted April 30, 2010 Author Report Posted April 30, 2010 Labs variants lai vārdus nenorautu. <?php $text = $row_recap['text']; if (strlen($text) > 300) { $ext = "... <a href='readmore.php'>read more</a>"; } else { $ext = ""; } function elliStr($s,$n) { for ( $x = 0; $x < strlen($s); $x++ ) { $o = ($n+$x >= strlen($s)? $s : ($s{$n+$x} == " "? substr($s,0,$n+$x) . "..." : "")); if ( $o!= "" ) { return $o; } } } echo (elliStr("$text", 300)) . $ext; ?> Jo citreiz gadas ka pie garumzīmes tiek beigts attelot tekstu un tad pārlūkā parādas jautajuma zīme kvadratiņā... :) Skaidrs.. - Paldies visiem.. ;) Quote
codez Posted April 30, 2010 Report Posted April 30, 2010 ashais13, reiniger dotais variants nav labs, jo mēģina simulēt iebūvētās mb_... funkcijas. Quote
ashais13 Posted April 30, 2010 Author Report Posted April 30, 2010 ashais13, reiniger dotais variants nav labs, jo mēģina simulēt iebūvētās mb_... funkcijas. Kas ir "mb_ fnkcijas" ?? O_o Quote
Pentiums Posted April 30, 2010 Report Posted April 30, 2010 Pārbaudīju to MySQL variantu. Strādā ar multibyte. Bet joprojām uzskatu, ka to labāk darīt ar PHP Quote
ashais13 Posted April 30, 2010 Author Report Posted April 30, 2010 (edited) PHP - variants nedaudz nedaudz vienkāršāks, palikšu pie tā.. ;) Paldies.. ;) Edited April 30, 2010 by ashais13 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.