Bismillaahirrohmaanirrohiim…
Sebenarnya merubah text format menjadi angka dan sebaliknya merubah format angka menjadi teks disini yaitu kebutuhan aku sendiri.
Biar tidak lupa, maka aku posting diweb rasupe.
Yang pertama, menciptakan teks format.
Misalkan kita ingin menciptakan format kartu kredit atau nomor HP dengan sumber asal teks saja.
Contoh:
$text = 'abcdefghij';
menjadi$fmt_text = 'ab-cd-ef-ghij';
Pada pola di atas, format text terdiri dari digit 2,2,2,4.
Berikut fungsinya:
function textToFormatted($text, $separator='-', $formats = array(2,2,2,4)) {
//abcdefghij to ab-cd-ef-ghij
$sum_formats = array_sum($formats);
//wrong format
if ($sum_formats !== strlen($text)) return '';
$num_formats = count($formats);
$fmt_text = '';
$start = 0;
for ($i=0; $i<$num_formats; $i++) {
$digit = $formats[$i];
if ($i > 0) $fmt_text .= $separator;
$fmt_text .= substr($text, $start, $digit);
$start += $digit;
}
return $fmt_text;
}
Yang kedua, menciptakan format angka menjadi abjad.
Contoh:$text = '12-34-56-789';
menjadi$fmt_text = 'bc-de-fg-ahij';
Pada pola di atas, $fmt_text terdiri dari digit 2,2,2,4. Meski instruksi sumbernya 2,2,2,3.
Jika instruksi sumber berbeda maka digit pertama dari 789 ditambah 0 (0789) sehingga hasil convertnya menjadi ahij.
function numberFormatToText($fmt_number, $separator='-', $formats = array(2,2,2,4)) {
//12-34-56-789 to bc-de-fg-ahij
//digit harus sama persis, bila beda maka dimulai dari 0
$text = '';
$abjad = range('a', 'j');//0-9
$exp = explode($separator, $fmt_number);
$num_formats = count($formats);
$num_exp = count($exp);
//wrong format
if ($num_formats!==$num_exp) return '';
for ($i=0; $i<$num_formats; $i++) {
$digit = $formats[$i];
//wrong format
if (empty($digit)) return '';
$text_part = $exp[$i];
$text_part = preg_replace("/[^0-9]/","",$text_part);
if (empty($text_part)) $text_part = '0';
$text_length = strlen($text_part);
if ($text_length < $digit) {
$repeat = str_repeat('0', $digit-$text_length);
$text_part = $repeat.$text_part;
}
if ($text_length > $digit) {
$text_part = substr($text_part, 0, $digit);
}
if ($i > 0) $text .= $separator;
$split = str_split($text_part);
foreach ($split as $number) {
$text .= $abjad[$number];
}
}
return $text;
}
Yang ketiga, menciptakan format text menjadi angka.
Contoh:
$text = 'ab-cd-ef-ghij';
menjadi$fmt_text = '01-23-45-6789';
Pada pola di atas, format text terdiri dari digit 2,2,2,4.
function textFormatToNumber($fmt_text, $separator='-', $formats = array(2,2,2,4)) {
//ab-cd-ef-ghij to 01-23-45-6789
//digit harus sama persis, bila beda maka dimulai dari a
$text = '';
$numbers = array_flip(range('a', 'j'));//0-9
$exp = explode($separator, $fmt_text);
$num_formats = count($formats);
$num_exp = count($exp);
//wrong format
if ($num_formats!==$num_exp) return '';
for ($i=0; $i<$num_formats; $i++) {
$digit = $formats[$i];
//wrong format
if (empty($digit)) return '';
$text_part = strtolower($exp[$i]);
$text_part = preg_replace("/[^a-z]/","",$text_part);
if (empty($text_part)) $text_part = 'a';
$text_length = strlen($text_part);
if ($text_length < $digit) {
$repeat = str_repeat('a', $digit-$text_length);
$text_part = $repeat.$text_part;
}
if ($text_length > $digit) {
$text_part = substr($text_part, 0, $digit);
}
if ($i > 0) $text .= $separator;
$split = str_split($text_part);
foreach ($split as $abjad) {
if (isset($numbers[$abjad])) {
$text .= $numbers[$abjad];
} else {
$text .= $abjad;
}
}
}
return $text;
}
Fungsi PHP di atas sengaja dibentuk dinamis, sehingga separator dan digit sanggup dirubah sesuai kebutuhan.
ika ingin merubah separator, tinggal dirubah pada dikala memanggil fungsinya, sanggup memakai “=”, “|”, “/”, dll
Digit hasil format juga sanggup dirubah sesuai keinginan, misal 3,4,5 atau 1,5,7, dll
Nah, begitu dulu tutorial kali ini, cara ini sanggup dikembangkan dan dipakai untuk hal-hal yang lain.
Semoga bermanfaat.
Sumber https://rasupe.com
Mari berteman dengan saya
Follow my Instagram _yudha58Related Posts :
Install Virtualmin Nginx Php 7.2 Php-Fpm Di Centos 7Bismillaahirrohmaanirrohiim…Pada tutorial kali ini, aku ingin mencatat cara untuk menginstall virtualmin, nginx, PHP-FPM dan PHP 7.2.Sebenar… Read More...
Cara Menciptakan Url Slug Sendiri Dengan PhpBismillaahirrohmaanirrohiim…Selamat pagi, siang, sore, malam…Saya ucapkan begitu alasannya ialah aku tidak tahu kapan Anda memba… Read More...
Script Php D0wnl0ad File Dengan CurlBismillaahirrohmaanirrohiim…Kali ini kita akan menciptakan script PHP CURL untuk mend0wnl0ad file dengan format apa saja.Fungsi d0wnl0… Read More...
Script Php D0wnl0ad Gambar Dengan CurlBismillaahirrohmaanirrohiim…Kali ini kita akan menciptakan script PHP CURL untuk mend0wnl0ad gambar atau image.Fungsi d0wnl0ad Gambar … Read More...
Merubah Format Teks Menjadi Angka Dan Sebaliknya Dengan PhpBismillaahirrohmaanirrohiim…Sebenarnya merubah text format menjadi angka dan sebaliknya merubah format angka menjadi teks disini yaitu kebut… Read More...
0 Response to "Merubah Format Teks Menjadi Angka Dan Sebaliknya Dengan Php"
Posting Komentar