Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213

    dividere una stringa in due

    ciao a tutti. ho delle stringhe di cui non conosco a priori la lunghezza. con la funzione split ho calcolato quante parole compongono ogni singola stringa. ora dovrei stamapare la stringa su due righe ed ogni riga deve contenere la metà delle parole

    esempio:

    codice:
    $frase="ciao a tutti. sono xxx e sono qui per aiutarvi";
    
    echo $frase1;
    echo "
    ".$frase2;
    quindi l'output dovrebbe essere:

    ciao a tutti. sono xxx
    e sono qui per aiutarvi.

    la domanda è: come faccio a ottenere frase1 e frase 2 in base al numero di parole contenute?
    grazie

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, l'operazione non è molto complicata...basta utilizzare le funzioni stringa che PHP mette a disposizione, nel tuo caso io usereri strlen() che ti restituisce la lunghezza della stringa, e substr() che ti permette di prelevari parti della stringa.

    Codice PHP:
    $frase="ciao a tutti. sono xxx e sono qui per aiutarvi";
    $fine=strlen($frase);
    $frase1=substr($frase,0,$fine/2);
    $frase2=substr($frase,($fine/2)+1);
    echo 
    $frase1."
    "
    .$frase2 

  3. #3
    Non so se in PHP esiste qualche funzione specifica ma in alternativa puoi fare una roba del genere. Magari un po' contorta ma è la prima soluzione che mi è venuta in mente:

    Codice PHP:
    <?php
    $n 
    10// Numero di parole contenute nalla stringa.
    $frase "ciao a tutti. sono xxx e sono qui per aiutarvi";
    $arr1 explode(' '$fraseceil($n 2) + 1);
    $arr2 explode(' '$arr1[count($arr1) - 1]);
    unset(
    $arr1[count($arr1) - 1]);
    $frase1 implode(' '$arr1);
    $frase2 implode(' '$arr2);
    echo 
    $frase1;
    echo 
    "
    "
    ;
    echo 
    $frase2;
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213
    grazie ho risolto in un' altra maniera. ma col tuo pezzo di codice non rischia di tagliare a metà una parola?

  5. #5
    Originariamente inviato da satifal
    Non so se in PHP esiste qualche funzione specifica ma in alternativa puoi fare una roba del genere. Magari un po' contorta ma è la prima soluzione che mi è venuta in mente:

    Codice PHP:
    <?php
    $n 
    10// Numero di parole contenute nalla stringa.
    $frase "ciao a tutti. sono xxx e sono qui per aiutarvi";
    $arr1 explode(' '$fraseceil($n 2) + 1);
    $arr2 explode(' '$arr1[count($arr1) - 1]);
    unset(
    $arr1[count($arr1) - 1]);
    $frase1 implode(' '$arr1);
    $frase2 implode(' '$arr2);
    echo 
    $frase1;
    echo 
    "
    "
    ;
    echo 
    $frase2;
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.