Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sanojen erottaminen merkkijonosta

Japa [27.11.2005 21:23:59]

#

Miten saan merkkijonosta joka sisältää kirjaimia ja numeroita, erotettua sanat siten, että myös yksittäinen numero on sana?
esim. "seppä 23 kettu 1 2 3 juusto" merkkijonosta tulisi saada erotettua 7 sanaa.

Olga [27.11.2005 22:41:12]

#

$sanat = explode(" ", $merkkijono);

Japa [27.11.2005 23:31:38]

#

Tuo toimii hyvin jos merkkijono on tuon ylhäällä antamani kaltainen.

$merkkijono = "seppä 23 kettu 1 2 3 juusto";
$sanat = explode(" ", $merkkijono);
echo count($sanat); //antaa oikean eli 7

Jos taas merkkijono on seuraavanlainen:

$merkkijono = "seppä        23 kettu 1  2 3   juusto";
$sanat = explode(" ", $merkkijono);
echo count($sanat); //antaa myös ylimääräiset välit eli 17

On vaikea tulostaa esim. merkkijonon toiseksi viimeistä..
Saanko jollain otettua nuo ylimääräiset tyhjät pois, vai onko olemassa vastaavaa funktiota joka ei niitä laske.

jgz [27.11.2005 23:59:23]

#

Ne tyhjät saa pois vaikkapa preg_replace() funktiolla. PHP.netistä löytyi seuraavanlainen esimerkki asiasta:

<?php
$string = "  once    upon  a              time";

preg_replace (
       array (
               '/\s+/s',      // Any space(s)
               '/^\s+/s',      // Any space(s) at the beginning
               '/\s+$/s'      // Any space(s) at the end
       ),
       array (
               ' ',    // ... one space
               '',    // ... nothing
               ''      // ... nothing
       ),
       $string
);

echo $string; // outputs 'once upon a time'
?>

Japa [28.11.2005 00:16:53]

#

Jep, kiitti.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta