本文整理汇总了PHP中Normalizer::normalize方法的典型用法代码示例。如果您正苦于以下问题:PHP Normalizer::normalize方法的具体用法?PHP Normalizer::normalize怎么用?PHP Normalizer::normalize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Normalizer
的用法示例。
在下文中一共展示了Normalizer::normalize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: locate
/**
* Locate a source either if it a file or a directory and normalize it. Return an array of SplFileInfo.
*
* @param mixed $source
* @return SplFileInfo[]
* @throws Exception
*/
public function locate($source)
{
$sources = [];
$normalizedSources = [];
// if the wildcard is at the end of the string, it means that we look for a directory
$endingWithWilCard = substr($source, strlen($source) - 2) === '/*';
if ($endingWithWilCard) {
$source = substr($source, 0, strlen($source) - 2);
}
if (is_dir($source) || $endingWithWilCard) {
$finder = new Finder();
$finder->in($source);
foreach ($finder as $file) {
$sources[] = $file;
}
} else {
if (strstr($source, '*') !== false) {
// if the source contains a wildcard, we use it with the finder component
$sources = $this->getSourcesFromFinder($source);
} else {
$sources[] = $source;
}
}
// each found sources should be normalized
foreach ($sources as $source) {
$normalizedSources[] = $this->normalizer->normalize($source);
}
return $normalizedSources;
}
示例2:
/**
* @covers Patchwork\PHP\Override\Mbstring::mb_strlen
*/
function testmb_strlen()
{
$this->assertSame(3, mb_strlen('한국어'));
$this->assertSame(8, mb_strlen(n::normalize('한국어', n::NFD)));
$this->assertSame(3, p::mb_strlen('한국어'));
$this->assertSame(8, p::mb_strlen(n::normalize('한국어', n::NFD)));
}
示例3: message
public static function message($publishHandler, eZContentObject $object, $message, $messageLength = null, $options)
{
$url = false;
if (isset($options['include_url']) && (bool) $options['include_url'] === true) {
$url = $object->attribute('main_node')->attribute('url_alias');
eZURI::transformURI($url, true, 'full');
if (isset($options['shorten_url']) && (bool) $options['shorten_url'] === true) {
$urlReturned = $publishHandler->shorten($url, $options['shorten_handler']);
if (is_string($urlReturned)) {
$url = $urlReturned;
}
}
if ($messageLength != null) {
$messageLength = $messageLength - strlen($url) - 1;
}
}
if (class_exists('Normalizer')) {
$message = Normalizer::normalize($message, Normalizer::FORM_C);
}
if ($messageLength != null) {
$message = mb_substr($message, 0, $messageLength);
}
if ($url) {
$message .= ' ' . $url;
}
return $message;
}
示例4: __construct
/**
* Class constructor.
*
* @param mixed $string
* @param string $encoding
* @throws \InvalidArgumentException
*/
public function __construct($string, $encoding = self::ENCODING)
{
if (is_null($string)) {
$string = 'null';
} elseif (is_bool($string)) {
$string = $string ? 'true' : 'false';
} elseif (is_int($string) || is_float($string)) {
$string = (string) $string;
} elseif (is_object($string)) {
if (!method_exists($string, '__toString')) {
throw new \InvalidArgumentException(sprintf('Object of class %s cannot be converted to String', get_class($string)));
}
$string = (string) $string;
} elseif (!is_string($string)) {
throw new \InvalidArgumentException('Cannot convert a variable of type ' . gettype($string) . ' to String');
}
if (!self::checkEncoding($encoding)) {
throw new \InvalidArgumentException('Unsupported encoding: ' . $encoding);
}
if (!mb_check_encoding($string, $encoding)) {
throw new \InvalidArgumentException('String is not encoded in ' . $encoding);
}
if ($encoding != self::ENCODING) {
$string = mb_convert_encoding($string, self::ENCODING, $encoding);
}
$string = \Normalizer::normalize($string);
$this->string = $string;
$this->length = mb_strlen($string, self::ENCODING);
}
示例5: applyValue
protected function applyValue($input, Context $ctx)
{
$output = $input;
if ($input === null || $input === true || $input === false) {
goto done;
}
if ($this->allowLoose) {
$checkValue = $input;
if (is_string($checkValue)) {
$checkValue = mb_strtolower(\Normalizer::normalize($checkValue));
}
if (in_array($checkValue, $this->trueValues ?: self::$defaultLooseTrue, true)) {
$output = true;
} elseif (in_array($checkValue, $this->falseValues ?: self::$defaultLooseFalse, true)) {
$output = false;
}
}
if ($output !== false && $output !== true) {
$ctx->addReason($this, ['id' => 'bool.invalid']);
}
done:
if ($output !== $input) {
$ctx->setChange(Change::Internal);
}
return $output;
}
示例6: simplify_strings
function simplify_strings($string)
{
//Normalisation de la chaine utf8 en mode caractère + accents
$string = Normalizer::normalize($string, Normalizer::FORM_D);
//Suppression des accents et minuscules
return strtolower(preg_replace('~\\p{Mn}~u', '', $string));
}
示例7: testUnknown
public function testUnknown()
{
$data = fopen('php://memory', 'rb');
fclose($data);
$normalized = $this->normalizer->normalize($data);
$this->assertEquals('[unknown(' . gettype($data) . ')]', $normalized);
}
示例8:
/**
* @covers Patchwork\PHP\Override\Intl::grapheme_strlen
*/
function testGrapheme_strlen()
{
$this->assertSame(3, grapheme_strlen('한국어'));
$this->assertSame(3, grapheme_strlen(n::normalize('한국어', n::NFD)));
$this->assertSame(3, p::grapheme_strlen('한국어'));
$this->assertSame(3, p::grapheme_strlen(n::normalize('한국어', n::NFD)));
}
示例9: convertToValidCharacters
/**
* 入力を妥当な値に変換します。
* @param string $input
* @return string 変換できなかった場合は空文字列を返します。
*/
protected function convertToValidCharacters(string $input) : string
{
$converted = preg_replace('/[\\p{C}\\p{Z}\\p{M}]+/u', '', \Normalizer::normalize(str_replace('~', '〜', $input), \Normalizer::FORM_KC));
if ($this->isRegExp($converted)) {
$converted = trim($converted, '/');
}
return $converted;
}
示例10: asciify
function asciify($text)
{
global $special_cases, $special_cases_keys;
$text = Normalizer::normalize($text, Normalizer::FORM_C);
$text = str_replace($special_cases_keys, $special_cases, $text);
$text = Normalizer::normalize($text, Normalizer::FORM_D);
return preg_replace('/[^\\x20-\\x7E]/', '', $text);
}
示例11: testStringUnicodeDifferentNormalisationEqual
function testStringUnicodeDifferentNormalisationEqual()
{
$a = \Normalizer::normalize("ő", \Normalizer::FORM_KC);
$b = \Normalizer::normalize("ő", \Normalizer::FORM_D);
$this->assertNotEquals($a, $b);
$flat = $this->compare($a, $b);
$this->assertTrue($flat->valid);
}
示例12: of
/**
* Public factory method.
*
* @param string $string
*
* @return UnicodeString
*
* @throws \InvalidArgumentException
*/
public static function of(string $string)
{
if (!mb_check_encoding($string, 'UTF-8')) {
throw new \InvalidArgumentException('String is not valid UTF-8');
}
$string = \Normalizer::normalize($string);
$length = mb_strlen($string, 'UTF-8');
return new UnicodeString($string, $length);
}
示例13: __construct
/**
* Class constructor.
*
* @param mixed $string
*
* @throws \InvalidArgumentException
*/
public function __construct(string $string)
{
if (!mb_check_encoding($string, 'UTF-8')) {
throw new \InvalidArgumentException('String is not valid UTF-8');
}
$string = \Normalizer::normalize($string);
$this->string = $string;
$this->length = mb_strlen($string, 'UTF-8');
}
示例14: unaccent
/**
* @see https://github.com/alixaxel/phunction/blob/master/phunction/Text.php#L297
*/
public static function unaccent($string)
{
if (extension_loaded('intl') === true) {
$string = \Normalizer::normalize($string, \Normalizer::FORM_KD);
}
if (strpos($string = htmlentities($string, ENT_QUOTES, 'UTF-8'), '&') !== false) {
$string = html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|caron|cedil|circ|grave|lig|orn|ring|slash|tilde|uml);~i', '$1', $string), ENT_QUOTES, 'UTF-8');
}
return $string;
}
示例15: handlePost
public function handlePost($postId, $post)
{
if (!$this->driverEnabled() || magnify_filter('disable_persist', false, $this->driver, $post) || !$this->isPersistablePostType($post) || $this->isAutosave() || $this->isAutoDraft($post)) {
return;
}
if ($this->isPersistableStatus($post)) {
$blogId = $this->getCurrentBlog();
try {
$this->driver->persist($blogId, $this->normalizer->normalize($blogId, $post));
magnify_act('persisted_post', $blogId, $post);
} catch (\Exception $e) {
$this->logException($e, sprintf('persisting post #%d', $post->ID));
}
} else {
// catches all non-published posts. Like trashed
// or posts taht moved from published back to draft
$this->handleDelete($post->ID);
}
}