(Grav GitSync) Automatic Commit from GitSync

This commit is contained in:
GitSync
2026-06-14 00:27:27 +00:00
parent a2920f812d
commit 3c1bfda80f
2933 changed files with 491625 additions and 0 deletions
@@ -0,0 +1,121 @@
<?php
namespace stringEncode;
class Encode {
/**
* The encoding that the string is currently in.
*
* @var string
*/
protected $from;
/**
* The encoding that we would like the string to be in.
*
* @var string
*/
protected $to;
/**
* Sets the default charsets for thie package.
*/
public function __construct()
{
// default from encoding
$this->from = 'CP1252';
// default to encoding
$this->to = 'UTF-8';
}
/**
* Sets the charset that we will be converting to.
*
* @param string $charset
* @chainable
*/
public function to($charset)
{
$this->to = strtoupper($charset);
return $this;
}
/**
* Sets the charset that we will be converting from.
*
* @param string $charset
* @chainable
*/
public function from($charset)
{
$this->from = strtoupper($charset);
}
/**
* Returns the to and from charset that we will be using.
*
* @return array
*/
public function charset()
{
return [
'from' => $this->from,
'to' => $this->to,
];
}
/**
* Attempts to detect the encoding of the given string from the encodingList.
*
* @param string $str
* @param array $encodingList
* @return bool
*/
public function detect($str, $encodingList = ['UTF-8', 'CP1252'])
{
$charset = mb_detect_encoding($str, $encodingList);
if ($charset === false)
{
// could not detect charset
return false;
}
$this->from = $charset;
return true;
}
/**
* Attempts to convert the string to the proper charset.
*
* @return string
*/
public function convert($str)
{
if ($this->from != $this->to)
{
$str = iconv($this->from, $this->to, $str);
}
if ($str === false)
{
// the convertion was a failure
throw new Exception('The convertion from "'.$this->from.'" to "'.$this->to.'" was a failure.');
}
// deal with BOM issue for utf-8 text
if ($this->to == 'UTF-8')
{
if (substr($str, 0, 3) == "\xef\xbb\xbf")
{
$str = substr($str, 3);
}
if (substr($str, -3, 3) == "\xef\xbb\xbf")
{
$str = substr($str, 0, -3);
}
}
return $str;
}
}