ch1p_io_web/engine/SkinString.php
Evgeny Zinoviev f7bfdf58de initial
2022-07-09 19:40:17 +03:00

23 lines
744 B
PHP

<?php
class SkinString implements Stringable {
protected SkinStringModificationType $modType;
public function __construct(protected string $string) {}
public function setModType(SkinStringModificationType $modType) {
$this->modType = $modType;
}
public function __toString(): string {
return match ($this->modType) {
SkinStringModificationType::HTML => htmlescape($this->string),
SkinStringModificationType::URL => urlencode($this->string),
SkinStringModificationType::JSON => json_encode($this->string, JSON_UNESCAPED_UNICODE),
SkinStringModificationType::ADDSLASHES => addslashes($this->string),
default => $this->string,
};
}
}