Visualizzazione dei risultati da 1 a 3 su 3

Discussione: sezionare testo

  1. #1

    sezionare testo

    piccolo problema con del testo.

    Ho un file di testo da qui voglio estrapolare i primi 1000 caratteri (senza tagliare l'ultima parola)...poi in fase di print devo aggiungere qualcosa tipo [ continua >> ] o [...]

    qualche idea? (il problema sarebbe non tagliare una parola se supera i 1000 caratteri...

    ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Come dire:
    data una stringa $str
    prendi la sottostringa dei primi 1000 caratteri,
    trova l'ultimo spazio e salvalo in $pos
    prendi la sottostringa di $str fino alla posizione $pos-1
    togli dalla stringa $str la sottostringa fino alla posizione $pos.
    Riprendi ricorsivamente.

    Non so se questo ti puo` bastare come spunto.

    Forse si puo` fare tutto con una RE, ma in questo momento avrei difficolta` ad elaborarne una specifica.


    In alternativa:
    spezza la stringa in tante sottostringhe mediante split secondo lo spazio
    ricomponi la stringa fino a che i caratteri non superano i 1000
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    $len=5; # lunghezza massima che vuoi
    $string="ciao bello"; # testo che vuoi analizzare

    if(length($string) > $len) { # operiamo solo se si supera il
    # limite fissato

    # con questa RE selezioniamo il testo costituito da
    # qualunque tipo di carattere fino alla quantità
    # voluta. Poi selezionaniamo i seguenti caratteri
    # fino a che non si incontra un carattere che indica
    # la fine di una parola. Io ho inserito quelli che
    # mi sono venuti in mente.
    $string =~ /^(.{$len}[^ ,.;\t:]*)/;

    # si preleva il testo selezionato.
    $text=$1;
    print "$text\n";
    }else{
    print "inferiore a $len: $string\n";
    }
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.