Jump to content

Archived

This topic is now archived and is closed to further replies.

lilywong

Remove special charactars before insert into database

Recommended Posts

I have currently write an php page to import the data from .txt file and insert into mysql database.

Data example in (test.txt file):
abc@hotmail.com
lily123@hotmail.com
110007;"mici@tm.net.my"
xyz@hotmail.com

the php page
[code]<?
$fd = fopen ("c:\test.txt", "r");
if (!$fd)
{
echo "ERROR: $errno - $errstr";
}
else
{
  while ( !feof($fd) )
{  
    $buffer = fgets($fd, 4096);
    <<i think i need to put checking here.... any ideas.. thanks...?      
    $query = " INSERT INTO emailAddress(Email) values ($buffer)";
}
fclose($fd);
}
?> [/code]
after in run the php script, the data will be insert into table and become:
ID Email
1 abc@hotmail.com
2 lily123@hotmail.com
3 110007;"mici@tm.com"--> want this to be mici@tm.com
4 xyz@hotmail.com

i want to remove the 110007; and the double quote, as i only want the take valid email address and save into my table. Is there any way to remove the 110007, ; , and "" so that the email address for ID 3 will become mici@tm.com ? Thanks

Share this post


Link to post
Share on other sites
will other e-mails have the same [i]syntax[/i] as 110007;"mici@tm.net.my"? or could it be something different?

if they will only have a syntax like the example the following function would work

[code]function clean_email($email){

    if (strstr($email, ';') == TRUE)
    {
        $email = split(';',$email); //splits string at; $email[0] will be '110007'  $email[1] will be "mici@tm.net.my"
        $email = str_replace('"','',$email[1]); //removes " from $email[1]
    }

  return $email; // returns mici@tm.net.my
}[/code]

to use the function

[code]$email = '110007;"mici@tm.net.my"';
echo clean_email($email); //returns mici@tm.net.my[/code]

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.