"neviditelné" znaky

Všechny zdravím a prosím o radu. Situace je následující:

Z maxbulku (program pro správu e-mailových databázi) si vyexportuji data do souboru.txt. Každý e-mail je oddělený středníkem a každý je na zvláštní řádce. Tyto data vložím do pole ($pole_email=explode(";",$email); ) a jednopodruhé vkládám do databáze.

To celé proběhne v pořádku, problém je v tom, že odřádkování, kterým jsou adresy oddělené mi ke každému mailu udělá mezeru, kterou nejsem schopný ničím odstranit, tak aby mi to nepletlo databázi (myslí si pak, že tam adresa není)


ukázka zmíněných mezer :

iveta........@seznam.cz; .........@lesycr.cz; ........@seznam.cz; ..........@c-box.cz;

pokoušel jsem se to odstranit (nefungovalo to):
$email=str_replace(" ","",$email);

Netušíte někdo, jak je to možné?

Děkuju
Všechno pro tebe potřebné zajistí funkce trim();
Případně ltrim(), rtrim()).
http://php.net/trim

$pole_email = explode(';',$email);
foreach ($pole_email as &$value) $value = trim($value);
Ano je tomu tak. My je nevidíme, ale systém ano.
Nový řádek je ve skutečnosti také znak. A aby to nebylo jednoduché, tak jednotlivé systémy si nový řádek vykládaji jinak.

unix - chr(10) - \n
win - chr(13) + chr(10) - \r\n
mac - chr(13) - \r

Nejjednodušší odstranění je trim() či jeho obdoby. Případně použít str_replace();
Funkce trim() odstraní i případné tabulátory. Bude asi vhodnější a hlavně logičtější, než str_replace().

Freeze: Procházením v poli bych se asi nezdržoval, IMHO je vhodnější tuto funkci použít až v místě potřeby.

$pole_email = explode(';',$email);
foreach ($pole_email as $address)
mail(trim($address),$subject,$message);

To je jen příklad, mail() na WZ nejede.
použil jsem všechny tři fce:

$email=$HTTP_POST_VARS['email'];
$email=trim($email); $email=rtrim($email); $email=ltrim($email);
$pole_email=explode(";",$email);

Nežádoucí znak (odřádkování) tam ale zůstal ...., napadá Vás něco?
Protože jsi to napsal úplně špatně. Nejprve explode() a pak to musíš to dát do cyklu foreach.

Funkce trim() odstraňuje bílé znaky pouze ze začátku a konce řetězce - vnitřku si nevšímá.
Čti chlape, čti, čti. Podíval ses na odkaz, který jsem k informaci o funkci trim() připsal? Proč myslíš, že jsem jej tam dával? ;)

___
Mimochodem místo $HTTP_POST_VARS by se mělo používat $_POST (kvůli případné přenositelnosti na novější verze php, novější verze php totiž $HTTP_POST_VARS už obsahovat nebudou).
musím Vás požádat o radu, nedaří se mi dostat výsledku.

$email=$_POST['email'];
$pole_email=explode(";",$email);

foreach ($pole_email as &$value)
{
$value = trim($pole_email);
}

var_dump($pole_email);
echo"<br>$pole_email[0]<br><br>";

- když se snažím vypsat prvky pole, oznámí mi to pouze, že je to Array.
- var_dump mi řeklo, že jsou tři prvky pole ...: ( array(3) { [0]=> string(5) "Array" [1]=> string(5) "Array" [2]=> &string(5) "Array" } )
Koukám, že fakt neumíš číst.

foreach ($pole_email as $value)
{
echo trim($value)."<br>\n";
}
Ten cyklus měl vypadat jinak - přečti si něco o foreach (http://php.net/foreach). Přijdeš taky na to, proč jsem použil ve foreach & apod..

Foreach totiž jednoduše řečeno postupně každý prvek z pole ukládá do hodnoty value a provede sekci kódu mezi závorkami.

foreach ($pole_email as &$value)
{
$value = trim($value);
}
a nebo bez foreach:
$pole_email = array_map('trim', explode(';', $email));
Ahoj všichni,

připadám si trochu hloupě, ale včera jsem už nebyl schopný pochopit jak funkce pracuje.

Každopádně děkuju za trpělivost.

ps: po úpravě pracuje i na php4