Is there an easy way to replace …ÂÃ... using str replace

Discussion in 'PHP' started by baris22, Dec 26, 2007.

  1. #1
    Hello all,

    I am looking for an easy way to replace all these none english characters using str replace.

    At the moment i am using

    $to_replace = array("Ã","ƒ","â","¦","š");
    PHP:
    Is there an easier way to do this instead of my way?

    Thanks
     
    baris22, Dec 26, 2007 IP
  2. JungleBook

    JungleBook Banned

    Messages:
    369
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    0
    #2
    That's the same way I do it to, I would like to know a better way!
     
    JungleBook, Dec 26, 2007 IP
  3. Barti1987

    Barti1987 Well-Known Member

    Messages:
    2,703
    Likes Received:
    115
    Best Answers:
    0
    Trophy Points:
    185
    #3
    Use this function:

    
    function cleanname($thename){
    $patternCounter=0;
    
    /*
    $patterns[$patternCounter] = '/[\x21-\x2d]/u'; // remove range of shifted characters on keyboard - !"#$%&'()*+,-
    $patternCounter++;
    
    $patterns[$patternCounter] = '/[\x5b-\x60]/u'; // remove range including brackets - []\^_`
    $patternCounter++;
    */
    
    $patterns[$patternCounter] = '/[\x7b-\xff]/u'; // remove all characters above the letter z.  This will eliminate some non-English language letters
    $patternCounter++;
    
    $replacement ="";
    
         return preg_replace($patterns, $replacement, $thename);
    }
    
    $new_name = cleanname($thename);
    
    PHP:
    Peace,
     
    Barti1987, Dec 26, 2007 IP
  4. baris22

    baris22 Active Member

    Messages:
    543
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    60
    #4
    I could not make it work.

     
    baris22, Dec 26, 2007 IP
  5. ImpulseHorizon

    ImpulseHorizon Peon

    Messages:
    43
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    Thanks, I will try this. does anyone know why these characters show up in the first place?
     
    ImpulseHorizon, Dec 26, 2007 IP
  6. Dondon2d

    Dondon2d Peon

    Messages:
    3,193
    Likes Received:
    146
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Something to do with character set I think.
     
    Dondon2d, Dec 26, 2007 IP
  7. Kaizoku

    Kaizoku Well-Known Member

    Messages:
    1,261
    Likes Received:
    20
    Best Answers:
    1
    Trophy Points:
    105
    #7
    Convert it to ISO-8859-1

    
    $newText = iconv("UTF-8", "ISO-8859-1", "…ÂÃ");
    
    PHP:
     
    Kaizoku, Dec 27, 2007 IP
  8. butterman

    butterman Guest

    Messages:
    20
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #8
    <?
    $find[] = '“'; // left side double smart quote
    $find[] = '”'; // right side double smart quote
    $find[] = '‘'; // left side single smart quote
    $find[] = '’'; // right side single smart quote
    $find[] = '…'; // elipsis
    $find[] = '—'; // em dash
    $find[] = '–'; // en dash

    $replace[] = '"';
    $replace[] = '"';
    $replace[] = "'";
    $replace[] = "'";
    $replace[] = "...";
    $replace[] = "-";
    $replace[] = "-";

    $text = str_replace($find, $replace, $text);
    ?>

    lol, a bit old :) but how knows.. it still useful
     
    butterman, Nov 22, 2008 IP