[ Index ] |
PHP Cross Reference of phpBB-3.2.11-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * Copyright (C) 2016 Nicolas Grekas - p@tchwork.com 5 * 6 * This library is free software; you can redistribute it and/or modify it 7 * under the terms of the (at your option): 8 * Apache License v2.0 (http://apache.org/licenses/LICENSE-2.0.txt), or 9 * GNU General Public License v2.0 (http://gnu.org/licenses/gpl-2.0.txt). 10 */ 11 12 namespace Patchwork; 13 14 /** 15 * Turkish locale specialized version of Patchwork\Utf8. 16 */ 17 class TurkishUtf8 extends Utf8 18 { 19 public static function strtocasefold($s, $full = true) 20 { 21 if (false !== strpos($s, 'İ')) { 22 $s = str_replace('İ', 'i', $s); 23 } 24 25 return parent::strtocasefold($s, $full); 26 } 27 28 public static function stripos($s, $needle, $offset = 0) 29 { 30 if (false !== strpos($needle, 'I')) { 31 $needle = str_replace('I', 'ı', $needle); 32 } 33 if (false !== strpos($needle, 'İ')) { 34 $needle = str_replace('İ', 'i', $needle); 35 } 36 if (false !== strpos($s, 'I')) { 37 $s = str_replace('I', 'ı', $s); 38 } 39 if (false !== strpos($s, 'İ')) { 40 $s = str_replace('İ', 'i', $s); 41 } 42 43 return parent::stripos($s, $needle, $offset); 44 } 45 46 public static function strripos($s, $needle, $offset = 0) 47 { 48 if (false !== strpos($needle, 'I')) { 49 $needle = str_replace('I', 'ı', $needle); 50 } 51 if (false !== strpos($needle, 'İ')) { 52 $needle = str_replace('İ', 'i', $needle); 53 } 54 if (false !== strpos($s, 'I')) { 55 $s = str_replace('I', 'ı', $s); 56 } 57 if (false !== strpos($s, 'İ')) { 58 $s = str_replace('İ', 'i', $s); 59 } 60 61 return parent::strripos($s, $needle, $offset); 62 } 63 64 public static function stristr($s, $needle, $before_needle = false) 65 { 66 $needle = self::stripos($s, $needle); 67 if (false === $needle) { 68 return false; 69 } 70 if ($before_needle) { 71 return self::substr($s, 0, $needle); 72 } 73 74 return self::substr($s, $needle); 75 } 76 77 public static function strrichr($s, $needle, $before_needle = false) 78 { 79 $needle = self::strripos($s, $needle); 80 if (false === $needle) { 81 return false; 82 } 83 if ($before_needle) { 84 return self::substr($s, 0, $needle); 85 } 86 87 return self::substr($s, $needle); 88 } 89 90 public static function strtolower($s) 91 { 92 if (false !== strpos($s, 'İ')) { 93 $s = str_replace('İ', 'i', $s); 94 } 95 if (false !== strpos($s, 'I')) { 96 $s = str_replace('I', 'ı', $s); 97 } 98 99 return parent::strtolower($s); 100 } 101 102 public static function strtoupper($s) 103 { 104 if (false !== strpos($s, 'i')) { 105 $s = str_replace('i', 'İ', $s); 106 } 107 108 return parent::strtoupper($s); 109 } 110 111 public static function str_ireplace($search, $replace, $subject, &$count = null) 112 { 113 $search = (array) $search; 114 115 foreach ($search as $i => $s) { 116 if ('' === $s .= '') { 117 $s = '/^(?<=.)$/'; 118 } else { 119 $s = preg_quote($s, '/'); 120 $s = strtr($s, array( 121 'i' => '(?-i:[iİ])', 122 'İ' => '(?-i:[iİ])', 123 'ı' => '(?-i:[ıI])', 124 'I' => '(?-i:[ıI])', 125 )); 126 $s = "/{$s}/ui"; 127 } 128 129 $search[$i] = $s; 130 } 131 132 $subject = preg_replace($search, $replace, $subject, -1, $replace); 133 $count = $replace; 134 135 return $subject; 136 } 137 138 public static function ucfirst($s) 139 { 140 if ('i' === substr($s, 0, 1)) { 141 return 'İ'.substr($s, 1); 142 } else { 143 return parent::ucfirst($s); 144 } 145 } 146 147 public static function ucwords($s) 148 { 149 if (false !== strpos($s, 'i')) { 150 $s = preg_replace('/\bi/u', 'İ', $s); 151 } 152 153 return parent::ucwords($s); 154 } 155 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Nov 11 20:33:01 2020 | Cross-referenced by PHPXref 0.7.1 |