replace characters - php help please..

Discussion in 'PHP' started by kevydesigns, Apr 13, 2012.

  1. #1
    Hi all,

    This is my code:

    
    <?php
       function CleanFileName($result ){
        $result = trim(strip_tags($result));
        $RemoveChars  = array( "([\40])" , "([^a-zA-Z0-9+])", "(-{2,})" );
        $ReplaceWith = array("+", "", "-");
        return preg_replace($RemoveChars, $ReplaceWith, $result);
    }
       
    Code (markup):
    Another part of my code is this:

    <?php
    
       function CleanFileName($result ){
    
        $result = str_replace('&#8230', '',$result);
    
        $result = str_replace(' &#8211', '',$result);
    
        $result = str_replace(' ? ', '+',$result);
    
        $result = str_replace('&#8211', '+',$result);
    
        $result = str_replace('&#39', '', $result);
    
        $result = str_replace(' | ', '+', $result);
    
        $result = str_replace(' |', '', $result);
    
        $result = str_replace('| ', '', $result);
    
        $result = str_replace(' -', '', $result);
    
        $result = str_replace('- ', '', $result);
    
        $result = str_replace('-', '+', $result);
    
        $result = str_replace(' ~', '', $result);
    
        $result = str_replace('~ ', '', $result);
    
        $result = str_replace('~', '+', $result);
    
        $result = str_replace(' : ', '+', $result);
    
        $result = str_replace(' ?', '', $result);
    
        $result = str_replace(' ?', '', $result);
    
        $result = str_replace('<', '', $result);
    
        $result = str_replace('>', '', $result);
    
        $result = str_replace('(', '', $result);
    
        $result = str_replace(')', '', $result);
    
        $result = str_replace('/ ', '+', $result);
    
        $result = str_replace(' /', '', $result);
    
        $result = str_replace('& ', '', $result);
    
        $result = str_replace(' &#58', '', $result);
    
        $result = str_replace('&#58 ', '', $result);
    
        $result = str_replace('.com', '+com', $result);
    
        $result = str_replace('.info', '+info', $result);
    
        $result = str_replace('.net', '+net', $result);
    
        $result = str_replace('.us', '+us', $result);
    
        $result = str_replace('.org', '+org', $result);
    
        $result = str_replace('.co.id', '+co+id', $result);
    
        $result = str_replace('...', '', $result);
    
        $result = str_replace('.', '+', $result);
    
        $result = str_replace('<Referat> ', '', $result);
    
        $result = str_replace(' </Referat>', '', $result);
    
        $result = str_replace('&#63', '', $result);
    
        $result = str_replace(' _', '', $result);
    
        $result = str_replace('_', '', $result);
    
        $result = str_replace('Yahoo! Answers', '', $result);
    
        $result = str_replace(' :: ', '+', $result);
    
        $result = trim(strip_tags($result));
    
        $RemoveChars  = array( "([\40])" , "([^a-zA-Z0-9+])", "(-{2,})");
    
        $ReplaceWith = array("+", "", "-");
    
        return preg_replace($RemoveChars, $ReplaceWith, $result);
    
    }
    Code (markup):

    How do I modify it so that it can also remove apostrophe's?

    Somehow it can remove certain characters but not apostrophe's.

    Please help, thanks
     
    kevydesigns, Apr 13, 2012 IP
  2. kevydesigns

    kevydesigns Well-Known Member

    Messages:
    1,209
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    125
    #2
    $result = str_replace('&#39', '', $result);
    PHP:
    I think this is it, but doesnt work :(
     
    kevydesigns, Apr 13, 2012 IP
  3. Basti

    Basti Active Member

    Messages:
    625
    Likes Received:
    6
    Best Answers:
    3
    Trophy Points:
    90
    #3
    You need to use double quotes around the single quote

    
    // Encoded apostrophe
    $result = str_replace("&#39", '', $result);
    // Unencoded apostrophe
    $result = str_replace("'", '', $result);
    
    PHP:
     
    Basti, Apr 13, 2012 IP
  4. kevydesigns

    kevydesigns Well-Known Member

    Messages:
    1,209
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    125
    #4
    Doesn't work for some reason.

    It still shows the apostrophe.
     
    kevydesigns, Apr 13, 2012 IP
  5. Techmafia

    Techmafia Well-Known Member

    Messages:
    678
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    108
    #5
    You can use escape character

    here it is

    $result = str_replace('\'', '', $result);
    Code (markup):
     
    Techmafia, Apr 13, 2012 IP
  6. grbrains123

    grbrains123 Member

    Messages:
    180
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    26
    #6
    use one quote. may be this will be help.
     
    grbrains123, Apr 13, 2012 IP