filter form input for illegal chars

Discussion in 'PHP' started by lektrikpuke, Mar 1, 2008.

  1. #1
    I want to filter / reject the following chars from form input: ' (which seems to be the most difficult) - _ (the last 2 I have some success with)

    I've tried \' but that doesn't seem to do any good.

    Any help? Thanks.
     
    lektrikpuke, Mar 1, 2008 IP
  2. nelse

    nelse Peon

    Messages:
    87
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    You need to remove this chars? If so:

    $a = str_replace($a, "'", '');
    Code (markup):
     
    nelse, Mar 1, 2008 IP
  3. farooqaaa

    farooqaaa Well-Known Member

    Messages:
    2,330
    Likes Received:
    149
    Best Answers:
    0
    Trophy Points:
    180
    #3
    I think it should be:
    
    $a = str_replace("'", '', $a);
    
    Code (markup):
    Thanks
     
    farooqaaa, Mar 1, 2008 IP
  4. nelse

    nelse Peon

    Messages:
    87
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    farooqaaa, yes, of course - sorry.
     
    nelse, Mar 1, 2008 IP
  5. lektrikpuke

    lektrikpuke Well-Known Member

    Messages:
    297
    Likes Received:
    1
    Best Answers:
    1
    Trophy Points:
    113
    #5
    Thanks for the quick response. When I try to use your suggestion, it filters everything (so I get no results).
    Any ideas?

    $SearchString = str_replace($SearchString, "'", ' ');
    $SearchString = trim($SearchString);
    $SearchString = preg_replace('/\s\s+/', ' ', $SearchString);
     
    lektrikpuke, Mar 1, 2008 IP
  6. nelse

    nelse Peon

    Messages:
    87
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Should be:

    $SearchString = str_replace("'", '', $SearchString);
    $SearchString = trim($SearchString);
    $SearchString = preg_replace('/\s\s+/', ' ', $SearchString);
    Code (markup):
    There is mistake in my first post.
     
    nelse, Mar 1, 2008 IP
  7. lektrikpuke

    lektrikpuke Well-Known Member

    Messages:
    297
    Likes Received:
    1
    Best Answers:
    1
    Trophy Points:
    113
    #7
    Swapping $SearchString to the end of the list fixed it. Thanks guys! =)
     
    lektrikpuke, Mar 1, 2008 IP
  8. lektrikpuke

    lektrikpuke Well-Known Member

    Messages:
    297
    Likes Received:
    1
    Best Answers:
    1
    Trophy Points:
    113
    #8
    Can I do multiple replacements in the same statement, or do I have to issue the statement over and over again to clean everything out?

    Say I want to get rid of _ - ' etc.?
     
    lektrikpuke, Mar 1, 2008 IP
  9. nelse

    nelse Peon

    Messages:
    87
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #9
    You can create function:

    function cleanOut($SearchString)
    {
    $SearchString = str_replace("'", '', $SearchString);
    $SearchString = trim($SearchString);
    $SearchString = preg_replace('/\s\s+/', ' ', $SearchString);
    return $SearchString;
    }
    
    $text = cleanOut( $text );
    
    Code (markup):
     
    nelse, Mar 1, 2008 IP
  10. lektrikpuke

    lektrikpuke Well-Known Member

    Messages:
    297
    Likes Received:
    1
    Best Answers:
    1
    Trophy Points:
    113
    #10
    Ok, works for me. Thanks again guys. =)
     
    lektrikpuke, Mar 1, 2008 IP
  11. lektrikpuke

    lektrikpuke Well-Known Member

    Messages:
    297
    Likes Received:
    1
    Best Answers:
    1
    Trophy Points:
    113
    #11
    Ok, one last one - " How do I filter for that?

    $SearchString = str_replace(""", '', $SearchString); that's not going to work.
     
    lektrikpuke, Mar 1, 2008 IP