рдкреГрд╖реНрдарднреВрдорд┐: рдЕрдм, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЬрд┐рд╕ рдХрдВрдкрдиреА рдореЗрдВ рдореИрдВрдиреЗ рдбреЗрд▓реНрдлреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдиреЗ рдЖрдЦрд┐рд░реА рдЖрд╣реЗрдВ рдирд┐рдХрд╛рд▓реА рдФрд░ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ред рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдЦреБрдж рд╕рд╣рд┐рдд, рдирдИ рдиреМрдХрд░реА рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреАред рдореИрдВ рдЕрднреА рдбреЗрд╕реНрдХрдЯреЙрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдФрд░ рдбреЗрд▓реНрдлреА рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЕрд░реНрдерд╛рддреН, рдореЗрд░реЗ рдХреНрд╖реЗрддреНрд░ (рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХреНрд╖реЗрддреНрд░реАрдп рдХреЗрдВрджреНрд░) рдореЗрдВ рдиреМрдХрд░реА рдХреА рдкреЗрд╢рдХрд╢ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ PHP рдореЗрдВ рдПрдХ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдмрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореЗрд░реА рдПрдирдЬреА рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рдкреБрд╕реНрддрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреА рдореЗрдЬ рдкрд░ рдЕрдзрд┐рдХ рдереАрдВред
рд▓рдЧрднрдЧ рддреБрд░рдВрдд, рдореИрдВ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдпрд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛: рдЬрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рд╛рдЗрдЯреЗрдВ рдХрддрд╛рдИ рдХрд░ рд░рд╣реА рд╣реИрдВ, рдЙрд╕рдиреЗ рдкрд╣рд▓реЗ рд╣реА UTF-8 рдХрд╛ рдкреВрд░реНрдг рд▓рд╛рдн рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдорд╛рдирдХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдзрд┐ - mb_strings рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╢рд╛рдВрдд рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХреБрдЫ рдЕрд╕реБрд╡рд┐рдзрд╛ рдиреЗ рдЗрд╕рдХреЗ рддрд▓рдЫрдЯ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЕрд░реНрдерд╛рддреН: рдПрдХ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░рддреАрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдХрдореА рдФрд░ рдЙрдирдХреЗ рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рд╕рдордХрдХреНрд╖реЛрдВ рдореЗрдВ рдХрдИ рдорд╛рдирдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдирд╛рд▓реЙрдЧреНрд╕ред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрднрд╡ рдерд╛, рдореИрдВрдиреЗ рд╕рд╛рд╣рд┐рддреНрдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЛрдВ рдкрд░ Google рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рд╕реЗ рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд░рд╣рд╛ рдЬреЛ рдорд▓реНрдЯреАрдмреАрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдкреАрдПрдЪрдкреА 6 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рднреА рдЦрд┐рд▓рд╛рдпрд╛ред рдпрджрд┐ mb_strings рдореЗрдВ рдХреЛрдИ рдкреНрд░рддреНрдпрдХреНрд╖ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдерд╛ред
рдФрд░ рдЕрдм, рдорд╛рдирдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рджреЗрдЦрд╛ рдЬреЛ рдореБрдЭреЗ рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛:
1. рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА encapsulating рдХреЗ рд▓рд┐рдП OOP рджреГрд╖реНрдЯрд┐рдХреЛрдг
class MBString { private $string; private $encoding; public function __construct($string, $encoding = 'UTF-8') { $this->string = $string; $this->encoding = $encoding; } public function __toString() { return (string)$this->string; } public function Length() { return mb_strlen($this->string, $this->encoding); } public function Size() { return strlen($this->string); } public function getEncoding() { return $this->encoding; } public function setEncoding($encoding) { $this->string = mb_convert_encoding($this->string, $encoding, $this->encoding); $this->encoding = $encoding; } public static function SupportEncodings() { return mb_list_encodings(); } public function GetChar($i) { return mb_substr($this->string, $i, 1, $this->encoding); } public function SetChar($i, $char) { $this->string = mb_substr($this->string, 0, $i, $this->encoding) .mb_substr($char, 0, 1, $this->encoding)
рдХрдХреНрд╖рд╛ рдореЗрдВ рдХреБрдЫ рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд░реНрдг рдореЗрдВ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ mb_strings рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, mb_strings рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
UCFirst рдФрд░
UCScript ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреНрд▓рд╛рд╕ рдХреЛ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдЧрд╛рдпрдм рдереАрдВред рд╡рд░реНрдЧ рдЬрд╛рджреВ
__toString () рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд┐рдХрд▓рд╛ред
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА:
- рдЪреВрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЖрдпрд╛рдо (рд╡рд░реНрдгреЛрдВ рдореЗрдВ) рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд▓рдВрдмрд╛рдИ рд╡рд┐рдзрд┐ рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЕрд░реНрдерд╛рддред рдЖрдХрд╛рд░ рдХреЛ рдПрдХ рдирд┐рдЬреА рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рднрд░реЗрдВ (mb_strlen ($ this-> string, $ this-> рдПрдиреНрдХреЛрдбрд┐рдВрдЧ)) рдХреЗрд╡рд▓ рдЕрдЧрд░ рдпрд╣ рд╢реВрдиреНрдп рд╣реИ, рддреЛ рдЪрд░ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЪрд░ рдХреЛ рд╢реВрдиреНрдп рдХрд░ рджреЗрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдХрд┐ рд▓рдВрдмрд╛рдИ рдХреЙрд▓ рдПрдХ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрд╢рди рд╣реИ, рдФрд░ mb_strlen рдлрд╝рдВрдХреНрд╢рди рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИред
- рдЖрдк рд╡рд░реНрдЧ рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдлрдВрдХреНрд╢рди (MBString $ string) рдХреЛ рдЙрдирдХреЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдВрд▓рдЧреНрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд░реНрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ)
2. рдорд╛рдирдХ Iterator рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (IteratorAggregate) foreach рдХреЗ рд▓рд┐рдП
protected $iterator_index = 0; public function rewind() { $this->iterator_index = 0; } public function current() { return $this->GetChar($this->iterator_index); } public function key() { return $this->iterator_index; } public function next() { ++$this->iterator_index; } public function valid() { return ($this->iterator_index < $this->Length()); }
Iterator рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХрдИ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╕рднреА рдлрд╝реЙрд░рдЪреЗрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИред
рдЯрд┐рдкреНрдкрдгреА:
- рдХрдХреНрд╖рд╛ рд╢реАрд░реНрд╖рдХ рдХреЛ MBString рдЗрдореНрдкреНрд▓рд┐рдЯрд░реНрд╕ Iterator рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
- рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ IteratorAggregate рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рд╣реИ, рдЗрд╕рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓рд╛рд╕ рдХреЗ рдмрд╛рд╣рд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рднрд╛рдЧ рдХреЛ "рдмрд╛рд╣рд░ рдлреЗрдВрдХ" рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХрдХреНрд╖рд╛ рдореЗрдВ рдХреЗрд╡рд▓ getIterator рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреНрд▓рд╛рд╕ рдордзреНрдпрд╕реНрде рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИ (рдореВрд▓ рд╡рд░реНрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред
3. рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкрд╣реБрдБрдЪ рдХреЗ рд▓рд┐рдП ArrayAccess рдЗрдВрдЯрд░рдлрд╝реЗрд╕
public function offsetExists($offset) { return ($offset < $this->Length()); } public function offsetGet($offset) { return $this->GetChar($offset); } public function offsetSet($offset, $value) { $this->SetChar($offset, $value); } public function offsetUnset($offset) { $this->UnSetChar($offset); }
рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рд┐рд░реНрдл рдПрдХ рдЬреЛрдбрд╝реА, рд▓реЗрдХрд┐рди OOP рдФрд░ PHP рдЕрдм рдЖрдкрдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рдРрд░реЗ рдХреЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЪрд░рд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ!
рдЯрд┐рдкреНрдкрдгреА:
- рдХрдХреНрд╖рд╛ рд╢реАрд░реНрд╖рдХ рдХреЛ MBString рдЗрдореНрдкреНрд▓рд┐рдЯрд░реНрд╕ Iterator, ArrayAccess рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
- рдХрд┐рд╕реА рдПрдХрд▓ рд╡рд░реНрдг рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдг рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)
4. рдЦреИрд░, рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЧрдгрдиреАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕
public function count() { return $this->Length(); }
рдЕрдм рдЧрд┐рдирддреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддрд┐ рдПрдХ рд╕рд░рдгреА рдЯреНрд░реИрд╡рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧреАред
рдореБрдЭреЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВ: рдХрдХреНрд╖рд╛ рд╢реАрд░реНрд╖рдХ рдХреЛ
рдХрдХреНрд╖рд╛ MBString рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
Iterator, ArrayAccess, CountableрдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
require_once('MBString.php'); $mbStr = new MBString(' '); echo ' __toString(): ',"$mbStr<br/>"; echo 'Length: ',$mbStr->Length(), ' Size: ', $mbStr->Size(), '<br/>'; echo '$mbStr[0]: ', $mbStr[0], '<br/>'; $mbStr->SetChar(0, 'z'); echo $mbStr, '<br/>'; echo 'UCFirst: ', $mbStr->UCFirst(), '<br/>'; echo 'UCWords: ', $mbStr->UCWords(), '<br/>'; foreach($mbStr as $k=>$v){ echo $v, '-'; } echo '<br>'; for ($i=0; $i< $mbStr->Length(); $i++){ echo $mbStr[$i], '+'; }
__toString(): Length: 14 Size: 27 $mbStr[0]: z UCFirst: Z UCWords: Z Z---------- ---- Z++++++++++ ++++
PS рдХрд▓ ... рдмрд▓реНрдХрд┐, рдЖрдЬ PHP рдореЗрдВ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмрд╛рдж рдореЗрдВ рд╕рднреА рдЖрд▓реЛрдЪрдирд╛рдУрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреВрдВрдЧрд╛ред