Beispiel #1
0
 /**
  * 全角/半角を(ある程度)区別なくパッチするための正規表現パターンを得る
  * (注意:正規表現の特殊文字も一緒くたに処理してしまうという欠点が解消されていない。\d \d)
  *
  * @static
  * @access  private
  * @return  string
  */
 function getPatternZenHan($pattern)
 {
     $petterns = array();
     $pattern_han = StrCtl::getPatternToHan($pattern);
     if ($pattern != $pattern_han) {
         $petterns[] = $pattern_han;
     }
     $pattern_zen = StrCtl::getPatternToZen($pattern);
     if ($pattern != $pattern_zen) {
         $petterns[] = $pattern_zen;
     }
     if ($petterns) {
         $pattern = '(?:' . implode('|', array_merge(array($pattern), $petterns)) . ')';
     }
     return $pattern;
 }