Kā lai no variabļa dabū ārā noteiktu skaitu burtu? | Notepad.lv


Kā lai no variabļa dabū ārā noteiktu skaitu burtu?



autors: guitarman

Atbildēt | Sūtīt vēstuli | |

Sveiki, esmu php iesācējs, tādēļ lūdzu neapsmejiet mani..

Karoč man ir mainīgais kurā ir, piemēram, tūkstotis burtu (teksts).
Kā lai no viņa izdabū arā (echo) TIKAI pirmos simts burtus ?

Paldies.

Komentāri

  1. Crow : 10 Janvāris 2010 16:33:19 AtbildētProfilsSūtīt vēstuli

    PHP manuāli novelc. Tur ir rakstīts viss, ko tev varētu vajadzēt. Ar visiem piemēriem

    string substr ( string $string , int $start [, int $length ] )

  2. Andress : 10 Janvāris 2010 16:34:30 AtbildētProfilsSūtīt vēstuli

    Funkcija atrodas šeit. Iekļauj šo funkciju kodā kautkur, kur vēlies. Tālāk:

    Izsaukt:


    Kods:
    echo mb_substrws( $teksts_kuru_apgriezt, '200');


    kur 200 ir skaitlis, cik simbolus gribi paradit.

  3. guitarman : 10 Janvāris 2010 16:35:51 AtbildētProfilsSūtīt vēstuli

    Lielu lielais paldies! Viss sanāca
    _________________
    Mana ģitārmūzika: draugiem.lv/rolandsbrazis
    Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis

  4. Aldis : 10 Janvāris 2010 16:36:22 AtbildētProfilsSūtīt vēstuli

    Nav pat jāvelk, viss ir paslēpts internetos.. http://lv.php.net/substr

    http://lv.php.net/ funkcijas vārds
    _________________
    Oh My God = OMG
    Ak Mans Dievs = AMD

  5. Andress : 10 Janvāris 2010 16:41:29 AtbildētProfilsSūtīt vēstuli

    Visiem, kuri latvijā ieteiks substr lietot, došu pa asti. Multy-bite failure expected...
    _________________
    Diemžēl Latvijas IT industrija no ārpasaules atpaliek par vismaz 10+ gadiem. Mentalitāte?

  6. guitarman : 10 Janvāris 2010 17:03:38 AtbildētProfilsSūtīt vēstuli

    Piedodiet par mazzinību, bet kas būtu "Multy-bite failure" ?
    _________________
    Mana ģitārmūzika: draugiem.lv/rolandsbrazis
    Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis

  7. Wuu : 10 Janvāris 2010 17:08:04 AtbildētProfilsSūtīt vēstuli


    Andress rakstīja:
    Visiem, kuri latvijā ieteiks substr lietot, došu pa asti. Multy-bite failure expected...

    Atkal līmi osti? p�...
    _________________

  8. Andress : 10 Janvāris 2010 17:14:59 AtbildētProfilsSūtīt vēstuli

    Īsumā- vairums latviešu burtu ir multy-byte, TB to garums ir nevis kā klasiski- 1 byts, bet gan 2. Substr nav multy-bite atbalstoša funkcija, tādēļ tā "pārgriež" multy-byte burtus uz pusēm parvēršot tos simbolos. Piemēram mums ir teksts no 6 burtiem,


    Citēt:
    aaaaaš


    a= 1 byte
    š= 2 bytes

    tatad kopējais garums - 7 bytes.
    Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.


    #Wuu, aizver žjaunu. Pok3mons.

  9. Wuu : 10 Janvāris 2010 17:21:05 AtbildētProfilsSūtīt vēstuli

    Andress uzreiz tā nevarēji, nevis valsts mērogā nolikti funkciju
    _________________

  10. Crow : 10 Janvāris 2010 17:22:18 AtbildētProfilsSūtīt vēstuli

    Ja visās iespējamās vietās izmanto UTF-8 un nesadirš tekstu pirms padošanas, ar letiņu burtiem iekš 5.2.x problēmām nevajadzētu būt. Vispār mbstring ir lēns kā nāve, bet citādi jau jēdzīgu domu pateica

    Multy-bite Multi-byte! Bļin, tak iemācies angliski rakstīt beidzot

  11. guitarman : 10 Janvāris 2010 17:22:39 AtbildētProfilsSūtīt vēstuli


    Andress rakstīja:
    Īsumā- vairums latviešu burtu ir multy-byte, TB to garums ir nevis kā klasiski- 1 byts, bet gan 2. Substr nav multy-bite atbalstoša funkcija, tādēļ tā "pārgriež" multy-byte burtus uz pusēm parvēršot tos simbolos. Piemēram mums ir teksts no 6 burtiem,


    Citēt:
    aaaaaš


    a= 1 byte
    š= 2 bytes

    tatad kopējais garums - 7 bytes.
    Apgriežot tekstu uz 6 simboliem ar substr, pēdējais š var tikt pārgriezts. (nezinu kapēc, bet dažreiz tas nenotiek. bug?) un izvadīts kā nezināms simbols. Latviešu valodas string apstrādei nepieciešams izmantot MB saderīgas funkcijas, piemēram mb_substr vai tā, ko tev iedevu es (var atrast PHP.net). Kaut daudz maz saprati? Ja ne, PM, paskaidrošu tuvāk.



    Nu viss skaidrs.. paldies liels. Domāju ka pats tikšu galā jo atradu vēl materiālus par šo. Tieši viss sanāca ar Substr, bet ja tāda tā lieta, tad skatīšu citus variantus, bet maķenīt gudrāks paliku. Paldies par to
    _________________
    Mana ģitārmūzika: draugiem.lv/rolandsbrazis
    Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis

  12. Aldis : 10 Janvāris 2010 17:25:08 AtbildētProfilsSūtīt vēstuli

    Piekrītu Andress..

    Vēl var izmantot ko šādu!


    Kods:
    function wordCut($sTeksts, $maksimalais_garums, $sZinjas_beigas)
    {
       if (strlen($sTeksts) > $maksimalais_garums)
       {
           $sString = wordwrap($sTeksts, ($maksimalais_garums-strlen($sZinjas_beigas)), '[cut]', 1);
           $asExplodedString = explode('[cut]', $sString);
         
           echo $sCutText = $asExplodedString[0];
         
           $sReturn = $sCutText.$sZinjas_beigas;
       }
       else
       {
           echo $sTeksts;
       }
     
       return $sReturn;
    }


    Pielietojums:


    Kods:

    /// Ievadi tekstu pie $teksts kuru vajag noskaldiit mazaaku
    /// otrais mainiigais ir teksta garums kuru vajag noskaldit nost - piemeram sheit no teksta paradas 100 simboli...
    /// teksta noraavums - piemeram daudzpunkte beigaas, vai punktu vieta var likt (Lasit talak) - atkariibaa kaa tev vajag

    wordCut($teksts, 100, '...');

    _________________
    Oh My God = OMG
    Ak Mans Dievs = AMD

  13. Andress : 10 Janvāris 2010 17:55:14 AtbildētProfilsSūtīt vēstuli


    Crow rakstīja:

    Multy-bite Multi-byte! Bļin, tak iemācies angliski rakstīt beidzot


    W000t, atvaino, svētdienas vakars, pudele ruma.

    @Autoram, es taču jau iedevu risinājumu: http://paste.php.lv/1fb366517924cb8d8faa74f1b16d7521?lang=php

  14. Aldis : 10 Janvāris 2010 18:22:47 AtbildētProfilsSūtīt vēstuli

    Vsp. jo mēs te php mācētāji katrs savu funkciju iemetīsim - tad būs interesanti - vairāki varianti gandrīz vienam pielietojumam!
    _________________
    Oh My God = OMG
    Ak Mans Dievs = AMD

  15. Wuu : 10 Janvāris 2010 18:34:01 AtbildētProfilsSūtīt vēstuli

    Es lietoju šādu, lai neveidotos nepabeigti vārdi un visi multy biti pie kājas.

    Kods:
    function uCrop($text,$lenght) {
       if (strlen($text) > $lenght) {
          $text = substr($text,0,$lenght);
          $text = trim($text);
          $text = explode(" ", $text, -1);
          $text = implode(" ",$text);
       }
       return $text;
    }

    _________________

  16. Crow : 10 Janvāris 2010 19:04:47 AtbildētProfilsSūtīt vēstuli

    Eh, karoče - visiem prodžektiem spiežam STOP un gaidam PHP 6, kur Unicode supports beidzot būs native.

  17. Aldis : 10 Janvāris 2010 23:22:40 AtbildētProfilsSūtīt vēstuli

    Wuu variants līdzīgs manam

    paamtā nosaka strlen, tad apcērpj, neskaitot baitus!
    _________________
    Oh My God = OMG
    Ak Mans Dievs = AMD

  18. guitarman : 19 Jūnijs 2010 2:02:03 AtbildētProfilsSūtīt vēstuli

    Atvainojos ka velku ārā vecu tēmu, bet jaunu taisīt nav vērts, jo temats tas pats, tikai šoreiz radās cita problēma.

    Izmantoju Andress doto funkciju:

    Andress rakstīja:
    Funkcija atrodas šeit. Iekļauj šo funkciju kodā kautkur, kur vēlies. Tālāk:

    Izsaukt:


    Kods:
    echo mb_substrws( $teksts_kuru_apgriezt, '200');


    kur 200 ir skaitlis, cik simbolus gribi paradit.


    Funkciju pielietoju šeit:


    (To var redzēt iekš www.troksnis.lv uzreiz pirmajā lapā)

    Taču nezin kāda iemesla dēļ dažreiz simbolu skaits pie lapas refrešošanas mainās lūk šādi:



    Respektīvi tad vairāk simbolu, tad mazāk.
    Un tas notiek tikai pie refrešošanas vai ieešanas citā sadaļā, un pats jokainākais ir tas, ka tas notiek tikai dažreiz, varētu pat teikt ka reti - ne pie katras refrešošanas. Pētīju to funkciju ar savām pašdarbnieciskajām php zināšanām, bet gudrs netiku.

    Varbūt kāds zinošāks varētu pateikt kur slēpjas āķis?
    _________________
    Mana ģitārmūzika: draugiem.lv/rolandsbrazis
    Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis

  19. Wuu : 19 Jūnijs 2010 9:07:49 AtbildētProfilsSūtīt vēstuli

    Pamēģini manu funkciju.
    _________________

  20. azazul : 19 Jūnijs 2010 9:15:57 AtbildētProfilsSūtīt vēstuli

    Nu a kas debugot php nemāki ?
    Tur pat izdrukā cik tad daudz simbolu tev tekstā ir bijis, un skaties vai rezultātis ir pareizs.


    Besides, ja jau tev visiem rakstiem ir tāds "preview",
    tad nafig tu nevari to vienreiz noparsēt un glabāt jau gatavu datubāzē,
    nevis katru reizi pērties tam tekstam cauri?
    _________________
    "Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo

  21. guitarman : 19 Jūnijs 2010 18:44:50 AtbildētProfilsSūtīt vēstuli

    Tā arī netiku gudrs, kas tur darījās, bet ar tavu funkcija Wuu, izskatās ka viss bumbās. Paldies
    _________________
    Mana ģitārmūzika: draugiem.lv/rolandsbrazis
    Un iekš yūtūba: http://www.youtube.com/user/rolandsbrazis

  22. azazul : 19 Jūnijs 2010 19:06:12 AtbildētProfilsSūtīt vēstuli

    Wuu , esi tik laipns un pastāsti, kas notiks kad es izdarīšu šitā ?

    Kods:
    $text = 'Here <a href="http://lorem.ips.um/dolor/sit-amet">goes</a> nothing';
    echo uCrop($text,10);

    _________________
    "Begging for a line drawn in the sand to separate the prophets from the men" - Rishloo

  23. daGrevis : 19 Jūnijs 2010 19:26:38 AtbildētProfilsSūtīt vēstuli

    Par atblusošanu... =D
    http://carsonified.com/blog/dev/how-to-debug-in-php/
    _________________
    Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/

    http://twitter.com/#!/daGrevis
    http://last.fm/user/daGrevis
    http://ask.fm/daGrevis

    http://dagrevis.lv/

  24. Mad182 : 20 Jūnijs 2010 16:43:59 AtbildētProfilsSūtīt vēstuli

    Diez vai azazul te domāja kļūdu paziņojumu ieslēgšanu, kam BTW būtu jabūt noklusēti ieslēgtam jebkurā izstrādes vidē...
    _________________
    100% Microsoft free

  25. daGrevis : 20 Jūnijs 2010 17:37:30 AtbildētProfilsSūtīt vēstuli

    Nu ar error_reporting() vajadzētu sākt. =D Pēc tam jau domāt tālāk... =)
    _________________
    Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/

    http://twitter.com/#!/daGrevis
    http://last.fm/user/daGrevis
    http://ask.fm/daGrevis

    http://dagrevis.lv/

  26. Wuu : 20 Jūnijs 2010 18:55:38 AtbildētProfilsSūtīt vēstuli


    azazul rakstīja:
    Wuu , esi tik laipns un pastāsti, kas notiks kad es izdarīšu šitā ?

    Kods:
    $text = 'Here <a href="http://lorem.ips.um/dolor/sit-amet">goes</a> nothing';
    echo uCrop($text,10);

    Man ir pilnīgi vienalga.
    _________________

Pievienot komentāru




Digitālās foto kamerasDigitālās foto kameras
  • Saistītās tēmas