当前位置: 首页>>代码示例>>PHP>>正文


PHP UTF8::wpstr_ireplace方法代码示例

本文整理汇总了PHP中UTF8::wpstr_ireplace方法的典型用法代码示例。如果您正苦于以下问题:PHP UTF8::wpstr_ireplace方法的具体用法?PHP UTF8::wpstr_ireplace怎么用?PHP UTF8::wpstr_ireplace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UTF8的用法示例。


在下文中一共展示了UTF8::wpstr_ireplace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: wpstr_ireplace

 /**
  * Returns a string or an array with all occurrences of search in subject
  * (ignoring case) and replaced with the given replace value. This is a
  * UTF8-aware version of [str_ireplace](http://php.net/str_ireplace).
  *
  * [!!] This function is very slow compared to the native version. Avoid
  * using it when possible.
  *
  * @author  Harry Fuecks <hfuecks@gmail.com
  * @param   string|array    $search     text to replace
  * @param   string|array    $replace    replacement text
  * @param   string|array    $str        subject text
  * @param   integer         $count      number of matched and replaced needles will be returned via this parameter which is passed by reference
  * @return  string  if the input was a string
  * @return  array   if the input was an array
  */
 public static function wpstr_ireplace($search, $replace, $str, &$count = NULL)
 {
     if (UTF8::is_ascii($search) and UTF8::is_ascii($replace) and UTF8::is_ascii($str)) {
         return str_ireplace($search, $replace, $str, $count);
     }
     if (is_array($str)) {
         foreach ($str as $key => $val) {
             $str[$key] = UTF8::wpstr_ireplace($search, $replace, $val, $count);
         }
         return $str;
     }
     if (is_array($search)) {
         $keys = array_keys($search);
         foreach ($keys as $k) {
             if (is_array($replace)) {
                 if (array_key_exists($k, $replace)) {
                     $str = UTF8::wpstr_ireplace($search[$k], $replace[$k], $str, $count);
                 } else {
                     $str = UTF8::wpstr_ireplace($search[$k], '', $str, $count);
                 }
             } else {
                 $str = UTF8::wpstr_ireplace($search[$k], $replace, $str, $count);
             }
         }
         return $str;
     }
     $search = UTF8::wpstrtolower($search);
     $str_lower = UTF8::wpstrtolower($str);
     $total_matched_strlen = 0;
     $i = 0;
     while (preg_match('/(.*?)' . preg_quote($search, '/') . '/s', $str_lower, $matches)) {
         $matched_strlen = strlen($matches[0]);
         $str_lower = substr($str_lower, $matched_strlen);
         $offset = $total_matched_strlen + strlen($matches[1]) + $i * (strlen($replace) - 1);
         $str = substr_replace($str, $replace, $offset, strlen($search));
         $total_matched_strlen += $matched_strlen;
         $i++;
     }
     $count += $i;
     return $str;
 }
开发者ID:gnribeiro,项目名称:turim,代码行数:57,代码来源:UTF8.php


注:本文中的UTF8::wpstr_ireplace方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。