Jump to content


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


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):

the php page
$fd = fopen ("c:\test.txt", "r");
if (!$fd)
echo "ERROR: $errno - $errstr";
  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)";
?> [/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

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.