• Super User

    prime parole di un record mysql

    ciao,

    ho un campo text in un database mysql, ora io vorrei estrarre solo le prime parole

    diciamo le prime 60-70, come devo fare?

    per ora ho ovviato con un secondo campo dove inserisco l'inizio ,pero vorrei poter avere un solo campo e estrarre solo le prime parole.

    grazie


  • User Newbie

    @kaisersose said:

    ciao,

    ho un campo text in un database mysql, ora io vorrei estrarre solo le prime parole

    diciamo le prime 60-70, come devo fare?

    per ora ho ovviato con un secondo campo dove inserisco l'inizio ,pero vorrei poter avere un solo campo e estrarre solo le prime parole.

    grazie

    Prova questo:

    [php]
    <?php

    $test = "djskl ffdsf erw ewjklr ewjkrl fdskjl cjkl jfkl jkrewl";

    /** $n e il numero di parole. */
    function firstNWords( $sentence, $n = 5 ) {
    $array = preg_split( "/\s+/", $sentence );
    if( sizeof( $array ) < $n ) {
    return $array;
    }
    return array_slice( $array, 0, $n );
    }

    print implode( " ", firstNWords( $test, 3 ) ) . "<hr/>";
    print implode( " ", firstNWords( $test, 6 ) ) . "<hr/>";
    print implode( " ", firstNWords( $test, 10 ) ) . "<hr/>";
    print implode( " ", firstNWords( $test, 100 ) ) . "<hr/>";
    print implode( " ", firstNWords( $test, 1 ) ) . "<hr/>";

    ?>
    [/php]