諸事情で特殊記号(☆)とかが文字列に入っていたら、排除してちゃんとした文字列に直したい、ということがあって調べたので共有。 $address = '東京都☆渋谷区'; $formated_address = preg_replace("/[^ぁ-んァ-ンーa-zA-Z0-9一-龠0-9\-\r]+/u",'' ,$address); echo $formated_address; // 東京都渋谷区 って感じらしいです。 特殊記号以外の文字(普段使ってる漢字とか英数字)って正規表現だと[ぁ-んァ-ンーa-zA-Z0-9一-龠0-9\-\r]って表現できるんですね。 なので^を使ってそれ以外が合ったら空文字に変換していると。 なるほどなぁ( ´_ゝ`)