String Helper menyediakan berbagai method untuk memanipulasi dan memformat string dengan mudah dan efisien.
use Ay4t\Helper\HP;
$string = HP::String("Your string here");Membuat slug URL-friendly dari string.
$result = HP::String("Hello World!")->slugify();
// Result: "hello-world"
$result = HP::String("Hello World!")->slugify('_');
// Result: "hello_world"Memotong string dengan panjang tertentu.
$text = "This is a very long text that needs to be truncated";
$result = HP::String($text)->truncate(20);
// Result: "This is a very..."
// Dengan word safe = false
$result = HP::String($text)->truncate(20, '...', false);
// Result: "This is a very lon..."Membuat kutipan dari text panjang.
$html = "<p>This is a long HTML text with <b>formatting</b> that needs to be excerpted.</p>";
$result = HP::String($html)->excerpt(20);
// Result: "This is a long..."Mengubah string menjadi format yang mudah dibaca.
$result = HP::String("user_first_name")->humanize();
// Result: "User First Name"Menyembunyikan sebagian string.
// Mask credit card
$result = HP::String("4111111111111111")->mask(6, 8);
// Result: "411111********11"
// Mask email
$result = HP::String("user@example.com")->mask(2, 5);
// Result: "us*****@example.com"Mengubah format string.
// To snake case
$result = HP::String("getUserName")->toSnakeCase();
// Result: "get_user_name"
// To camel case
$result = HP::String("user_first_name")->toCamelCase();
// Result: "userFirstName"
// To pascal case
$result = HP::String("user_first_name")->toCamelCase(true);
// Result: "UserFirstName"Mengambil inisial dari string.
$result = HP::String("John Doe")->initials();
// Result: "JD"
$result = HP::String("John Michael Doe")->initials(3);
// Result: "JMD"Mengubah string menjadi format judul.
$result = HP::String("the quick brown fox")->toTitleCase();
// Result: "The Quick Brown Fox"Mengonversi nilai string ke boolean dengan dukungan berbagai representasi:
- String boolean:
"true","false"(case-insensitive) - Truthy/falsy umum:
"yes/no","on/off","t/f","y/n" - Numerik:
"1"/"0"atau angka lain (non-zero->true,0->false) - Mendukung nilai default jika konversi gagal.
// Boolean strings
HP::String('true')->toBoolean(); // true
HP::String('FALSE')->toBoolean(); // false
// Yes/No, On/Off, T/F, Y/N
HP::String('yes')->toBoolean(); // true
HP::String('off')->toBoolean(); // false
HP::String('t')->toBoolean(); // true
HP::String('n')->toBoolean(); // false
// Numerik
HP::String('1')->toBoolean(); // true
HP::String('0')->toBoolean(); // false
HP::String('42')->toBoolean(); // true
HP::String('0.0')->toBoolean(); // false
// Default fallback ketika tidak dapat dikonversi
HP::String('maybe')->toBoolean(true); // true (fallback)
HP::String('maybe')->toBoolean(); // false (default bawaan)
// Chaining
HP::String('yes')->toBoolean(); // true
HP::String('no')->toBoolean(); // false$filename = "my-document-name.pdf";
$result = HP::String($filename)
->getBaseName() // Hapus ekstensi
->humanize() // Format readable
->toTitleCase();// Format judul
// Result: "My Document Name"$title = "This is a Blog Post Title! (2023)";
$result = HP::String($title)
->slugify() // URL friendly
->truncate(30); // Batasi panjang
// Result: "this-is-a-blog-post-title-2023"- Gunakan
slugify()untuk membuat URL yang SEO-friendly - Gunakan
excerpt()untuk membuat preview content - Gunakan
mask()untuk data sensitif seperti password atau nomor kartu kredit - Gunakan
humanize()untuk menampilkan nama variable atau kolom database - Gunakan
initials()untuk avatar atau icon dengan inisial nama
- Semua method mendukung UTF-8
- Method
truncate()danexcerpt()menjaga integritas kata secara default - Method
mask()berguna untuk keamanan data sensitif - Gunakan method chaining untuk operasi yang lebih kompleks