Skip to content

BaguettePHP/StringWidth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP StringWidth

Measure string width (support Unicode east asian ambiguous width)

Install

composer require 'zonuexe/stringwidth:~0.1.1'

Usage

Notice: Input string must be UTF-8 encoded

<?php

\Teto\StringWidth::asSingle('ABC'); //=> 3
\Teto\StringWidth::asDouble('ABC'); //=> 3

\Teto\StringWidth::asSingle('☆☆☆'); //=> 3
\Teto\StringWidth::asDouble('☆☆☆'); //=> 6

\Teto\StringWidth::asSingle('도서관'); //=> 6
\Teto\StringWidth::asDouble('도서관'); //=> 6

Copyright

src/StringWidth/Tanasinn/*.php codes are derivatived by tanasinn/wcwidth.js at e432aeec63452e8c4d1e40e93f5f88f1bc729dca · saitoha/tanasinn. USAMI Kenta(@zonuexe) ported to PHP from JavaScript.

see src/StringWidth/Tanasinn/LICENSE.

***** BEGIN LICENSE BLOCK *****
Version: MPL 1.1

The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
The Original Code is tanasinn
The Initial Developer of the Original Code is * Hayaki Saito.
Portions created by the Initial Developer are Copyright (C) 2010 - 2011
the Initial Developer. All Rights Reserved.
***** END LICENSE BLOCK *****

src/StringWidth.php and test codes are licensed under Mozilla Public License, version 2.0

Copyright (c) 2015 USAMI Kenta

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

About

Measure string width function for PHP

Resources

Stars

Watchers

Forks

Packages

No packages published