String
Mengendalikan huruf besar atau
huruf kecil
Anda akan memaksa
sebuah nilai string menjadi huruf besar atau huruf kecil. Hal ini dilakukan
dengan memanfaatkan nilai strtoupper()
atau strtolower().
<?php
//kendali_huruf_besar_kecil.php
//
mendefinisikan string
$syair
= "Aku Mau Mencintai Kekuranganmu";
//
mengubah string menjadi huruf besar
//
hasil: "AKU MAU MENCINTAI KEKURANGANMU"
$hbstr
= strtoupper($syair);
echo
$hbstr;
//
mengubah string menjadi huruf kecil
//
hasil: "aku mau mencintai kekuranganmu"
$hkstr
= strtolower($syair);
echo
$hkstr;
?>
Untuk kendali lainnya, perhatikan fungsi ucfirst(), yang mengkapitalkan
(mengubah menjadi huruf besar) karakter pertama dari sebuah string (baik untuk
kalimat), dan fungsi ucwords(), yang
mengkapitalkan karakter pertama dari tiap kata di dalam sebuah string (cocok
untuk judul). Berikut adalah contohnya:
<?php
//kendali_string.php
//
mendefinisikan string
$syair
= "aku mau mencintai kekuranganmu";
//
mengubah karakter pertama menjadi huruf besar
//
dari string
//
hasil: "Aku mau mencintai kekuranganmu"
$ucfstr
= ucfirst($syair);
echo
$ucfstr;
//
mengubah karakter pertama menjadi huruf besar
//
dari setiap kata
//
hasil: "Aku Mau Mencintai Kekuranganmu"
$ucwstr
= ucwords($syair);
echo
$ucwstr;
?>
Memeriksa nilai string
kosong
Menggukan kombinasi dari fungsi isset() dan trim() untuk memeriksa apakah sebuah string memuat
karakter-karakter yang valid atau tidak.
<?php
//periksa_string.php
//
mendefinisikan string
$str
= " ";
//
memeriksa apakah string kosong atau tidak
//
hasil: "Kosong"
echo
(!isset($str) || trim($str) == "") ? "Kosong"
: "Tidak Kosong";
?>
Anda akan sering menggunakan ini ketika
bekerja dengan data form, untuk melihat apakah bidang form yang harus diisi
memuat data valid atau tidak. Teknik dasarnya sederhana: gunakan isset() untuk memverifikasi apakah
variabel string ada, kemudian gunakan fungsi trim() untuk memotong spasi-putih dari tepi-tepi string, lalu
bandingkan dengan string kosong. Jika hasilnya TRUE, maka dapat dipastikan
string tidak memuat nilai.
Menghapus karakter dari
string
Di sini, Anda akan menghapus n karakter
pertama/akhir dari sebuah string. Gunakan fungsi substr() untuk memotong sejumlah karakter yang diinginkan dari awal
atau akir string.
<?php
//hapus_karakter.php
//mendefinisikan
string
$str
= "klaten bersinar";
//
menghapus 6 karakter pertama
//
hasil: "klaten"
$strBaru
= substr($str, 6);
echo
$strBaru;
//
menghapus enam karakter terakhir
//
hasil: "klaten be"
$strBaru
= substr($str, 0, -6);
echo
$strBaru;
?>
Menghapus spasi-putih dari string
Anda akan menghapus semua atau beberapa
karakter spasi-putih dari sebuah string, atau memampatkan beberapa spasi dalam
sebuah string.
Gunakan ekspresi reguler untuk menemukan dan
mengganti beberapa karakter spasi-putih menjadi satu.
<?php
//hapus_spasi.php
//
mendefinisikan string
$str
= " ini adalah
string dengan
ban yak
spa si putih ";
//
memotong spasi-putih di akhir sring
//
memampatkan spasi-putih di tengah string
//
hasil: "ini adalah string dengan ban yak spa si putih"
$strBaru
= ereg_replace('[[:space:]]+', ' ', trim($str));
echo
$strBaru;
?>
Membalikkan string
Anda akan membalikkan sebuah string. Gunakan
fungsi strrev().
<?php
//balik_string.php
//
mendefinisikan string
$kartu
= "Visa, MasterCard and American Express
diterima";
//
membalikkan string
//
hasil: "amiretid sserpxE naciremA dna
draCretsaM ,asiV"
$sdrac
= strrev($kartu);
echo
$sdrac;
?>
Mengulang string
Anda akan mengulang sebuah string sebanyak n
kali. Gunakan fungsi str_repeat().
<?php
//ulang_string.php
//
mendefinisikan string
$ketawa
= "ha ";
//
mengulangi string
//
hasil: "ha ha ha ha ha ha ha ha ha ha "
$ketawa_ulang
= str_repeat($ketawa, 10);
echo
$ketawa_ulang;
?>
Fungsi str_repeat()
dapat berguna ketika Anda ingin menampilkan garis batas di halaman keluaran.
Untuk melihat kegunaannya, amati keluaran dari kode berikut dengan browser Anda
yang menampilkan karakter-karakter Ø
pada halaman.
<?php
//garis_batas.php
//
mendefinisikan string
$spesial
= "Ø";
//
mengulang string
$ulang_spesial
= str_repeat($spesial, 62);
echo
$ulang_spesial;
?>
Memotong string
Anda akan memotong suatu string yang panjang
sehingga string tersebut memiliki panjang tertentu, dan mengganti
karakter-karakter yang dipotong dengan karakter tertentu.
Gunakan fungsi substr() untuk memotong string menjadi panjang tertentu, dan
menempelkan karakter placeholder pada string yang terpotong.
<?php
//
potong_string.php
function
potongString($str, $karMaks=40,
$holder="...")
{
// memeriksa panjang string
// memotongnya jika diperlukan
if (strlen($str) > $karMaks) {
return trim(substr($str, 0, $karMaks))
.
$holder;
} else {
return $str;
}
}
//
mendefinisikan string yang panjang
$str
= "Anda akan
memotong suatu string yang panjang
sehingga string tersebut memiliki panjang
tertentu,
dan mengganti karakter-karakter yang dipotong
dengan
karakter tertentu.";
//
memotong dan menampilkan string
//
hasil:
"Anda akan memotong suatu string yang pan..."
echo
potongString($str);
//
memotong dan menampilkan string
//
hasil: "Anda akan memotong s >>>"
echo
potongString($str, 20, " >>>");
?>
Konversi kode dan karakter
ASCII
Anda dapat membaca kode ASCII (American Standard Code for Information
Interchange) yang berkaitan dengan karakter tertentu, atau sebaliknya.
<?php
// konversiASCII.php
// mendefinisikan karakter
$kar = "\r";
// membaca kode ASCII
// hasil: 13
$asc = ord($kar);
echo $asc;
?>
Anda bisa menggunakan fungsi chr() untuk mendapatkan karakter yang
berkaitan dengan kode ASCII tertentu:
<?php
//
karakterASCII.php
//
mendefinisikan kode ASCII
$asc
= 65;
//
membaca karakter
//
hasil: "A"
$kar
= chr($asc);
echo
$kar;
?>
Anda dapat menggunakan fungsi chr() untuk menghasilkan semua daftar
alfabet, sebagai berikut:
<?php
//
seluruh_alfabet.php
// hasil:
"abcd...xyz"
for ($a=97;
$a<(97+26); $a++) {
echo chr($a);
}
?>
Memecah string
Pada kasus ini, Anda akan memecah sebuah
string yang panjang menjadi segmen-segmen yang lebih kecil, dimana tiap segmen
memiliki panjang tetap.
Anda menggunakan fungsi str_split() untuk memecah string menjadi segmen-segmen dengan
panjang tetap:
<?php
//
pecah_string.php
//
mendefinisikan string
$str
= "Jogja kota budaya dan simbol keberagaman,
meskipun
akhir-akhir ini ada kelompok tertentu
yang
mengusik kebhinekaannya";
//
mendefinisikan ukuran segmen/chunk
$ukuranChunk
= 21;
//
memecah string menjadi chunk-chunk
//
hasil: [0] => Jogja kota budaya dan [1] => simbol keberagaman,
//
[2] => meskipun akhir-akhi [3] => r ini ada kelompok te
//
[4] => rtentu yang mengusik [5] => kebhinekaannya
$arrayChunck
= str_split($str, $ukuranChunk);
print_r($arrayChunck);
?>
Memecah string
Di sini, Anda akan membandingkan bunyi dari dua
string untuk melihat kesamaannya.
Anda menggunakan fungsi metaphone() untuk menguji apakah bunyi kedua string sama atau
tidak.
<?php
//
banding_string.php
//
membandingkan string-string
//
hasil: "Kedua string sama"
echo
(metaphone("rest") == metaphone("reset")) ?
"Kedua
string sama" : "Kedua string tidak sama";
//
hasil: "Kedua string sama"
echo
(metaphone("deep") == metaphone("dip")) ?
"Kedua
string sama" : "Kedua string tidak sama";
//
hasil: "Kedua string tidak sama"
echo
(metaphone("fire") == metaphone("higher")) ?
"Kedua
string sama" : "Kedua string tidak sama";
?>
Fungsi metaphone(),
yang merupakan versi yang lebih akurat dari fungsi soundex(), adalah salah satu fungsi string PHP yang sangat unit.
Fungsi ini menghasilkan sidik untuk tiap bunyi string; jadi, string dengan
bunyi sama akan menghasilkan sidik yang sama.
Mengekstrak string ke dalam
array
Pada kasus ini, Anda akan mengekstrak
elemen-elemen individual dari sebuah daftar dimana elemen-elemennya dipisahkan
oleh tanda koma.
<?php
//
dekomposisi_string.php
//
dekomposisi string
//
mendefinisikan daftar dengan tiap elemen dipisahkan koma
$string_bumbu
= "cabe, bawang
merah, garam, bawang puting, merica, ketumbar";
//
mendekomposisi string ke dalam array
//
menggunakan koma sebagai delimiter
$array_bumbu
= explode(", ", $string_bumbu);
//
beriterasi menjelajah array
//
menampilkan elemen-elemen array individual
foreach
($array_bumbu as $i) {
print $i . "\r\n";
}
?>
Fungsi explode()
memiliki proses satu-langkah dalam memecah string-string (yang dipisahkan koma)
dan menempatkannya ke dalam sebuah string.
Mengekstrak URL
Di sini, Anda akan mengekstrak protokol, nama
domain, path, dan komponen lain dari sebuah URL.
Anda akan menggunakan fungsi parse_url() untuk secara otomatis
memecah URL menjadi bagian-bagian konstituennya.
<?php
//
dekomposisi_URL.php
//
mendefinisikan URL
$url
= "http://www.algoritma.com:80
/komunitas/kolom/baris/artikel.php?id=79
&hal=2";
//
mendekomposisi URL menjadi array
$data
= parse_url($url);
//
menampilkan komponen-komponen URL
foreach
($data as $k=>$v) {
echo "$k: $v \n";
}
?>
Menghitung kata dalam sebuah
string
Pada kasus ini, Anda akan menghitung jumlah
kata dalam sebuah kalimat atau paragraf.
Anda bisa menggunakan sebuah pola dalam
mengidentifikasi kata-kata dalam suatu string, dan kemudian menghing berapa
kali pola tersebut terjadi.
<?php
//hitung_kata.php
//
mendefinisikan string
$teks
= "Pada kasus ini, Anda akan menghitung jumlah kata dalam sebuah kalimat
atau paragraf. Anda bisa menggunakan sebuah pola dalam mengidentifikasi
kata-kata dalam suatu string,dan kemudian menghing berapa kali pola tersebut
terjadi.";
//
mendefinisikan string menjadi array kata
$kata
= preg_split('/[^0-9A-Za-z\']+/', $teks, -1, PREG_SPLIT_NO_EMPTY);
//
menghitung jumlah kata (elemen) dalam array
//
hasil: "33 kata"
echo
count($kata) . " kata";
?>
Cara alternatif adalah menggunakan fungsi str_word_count() untuk melakukan
pekerjaan ini.
<?php
//
hitung_kata2.php
//
mendefinisikan string
$teks
= "Pada kasus ini, Anda akan menghitung jumlah kata dalam sebuah kalimat
atau paragraf. Anda bisa menggunakan sebuah pola dalam mengidentifikasi
kata-kata dalam suatu string, dan kemudian menghing berapa kali pola tersebut
terjadi.";
//
menghitung jumlah kata (elemen) dalam array
//
hasil: "32 kata"
$jumKata
= str_word_count($teks);
echo
$jumKata . " kata";
?>
Mengidentifikasi duplikasi
Pada kasus ini, Anda akan mengidentifikasi
kata-kata yang muncul lebih dari sekali di dalam sebuah string.
Anda melakukannya dengan mendekomposisi
string menjadi kata-kata, dan kemudian menghitung jumlah kemunculan dari tiap kata.
<?php
//
duplikasi_kata.php
//
mendefinisikan string
$str
= " danau toba danau
teridah ";
//
memotong spasi-putih di tiap ujung string
$str
= trim($str);
//
memampatkan spasi-putih di tengah string
$str
= ereg_replace('[[:space:]]+', ' ', $str);
//
mendekomposisi string ke dalam array "kata"
$kata
= explode(' ', $str);
//
beriterasi di dalam array
//
menghitung kemunculan tiap kata
//
dan menyimpan hasilnya di array lain
foreach
($kata as $w) {
$statKata[strtolower($w)]++;
}
//
menampilkan semua kata yang muncul lebih dari sekali
//
hasil: "danau"
foreach
($statKata as $k=>$v) {
if ($v >= 2) { print "$k
\r\n"; }
}
?>
Melakukan pencarian
Di sini, Anda akan melakukan pencarian suatu
pola atau substring di dalam sebuah string. Anda akan menggunakan ekspresi
reguler dengan fungsi PHP ereg().
<?php
//
cari_string.php
//
mendefinisikan string
$html
= "Saya <b>capek</b> jadi saya <b>harus</b> pulang
ke <a href='http://domain'>rumah</a> sekarang";
//
memeriksa kecocokan
//
hasil: "Cocok"
echo
ereg("<b>(.*)+</b>", $html) ?
"Cocok" : "Tidak cocok";
?>
Menghitung kemunculan dalam
string
Di sini, Anda akan mengetahui berapa kali
suatu pola tertentu terjadi dalam sebuah string. Anda bisa menggunakan fungsi
PHP preg_match() untuk melakukannya.
<?php
//
cocok_string.php
//
define string
$html
= "Saya <b>capek</b> jadi saya <b>harus</b>
pulang
ke <a href='http://domain'>rumah</a> sekarang";
//
menghitung jumlah kemunculan dari teks tebal di dalam string.
//
hasil: "2 kemunculan"
preg_match_all("/<b>(.*?)<\/b>/i",
$html, $cocok);
echo
sizeof($cocok[0]) . " kemunculan";
?>
Mengganti pola dalam string
Di sini, Anda akan mengganti semua/beberapa
kemunculan pola atau substring di dalam sebuah string dengan pola/substring
lain.
Anda menggunakan ekspresi reguler yang
dikombinasikan dengan fungsi PHP str_replace()
(untuk pola-pola yang sederhana).
<?php
//
ganti_string.php
//
mendefinisikan string
$str
= "Selamat pagi siang sore malam";
//
mengganti semua semua kemunculan "sore" dengan "petang"
//
hasil: "Selamat pagi siang petang malam"
$strBaru
= str_replace("sore", "petang", $str);
echo
$strBaru;
?>
Untuk pola yang lebih kompleks, Anda bisa
menggunakan ekspresi reguler yang dikombinasikan dengan fungsi preg_replace():
<?php
//
ganti_string2.php
//
mendefinisikan string
$html
= "Saya <b>capek</b> jadi saya <b>harus</b> pulang
ke <a href='http://domain'>rumah</a> sekarang";
//
mengganti semua teks tebal dengan teks miring
//
hasil: Saya <i>capek</i> jadi saya
<i>harus</i> pulang ke
//
<a
href='http://domain'>rumah</a> sekarang"
$strBaru
= preg_replace("/<b>(.*?)<\/b>/i",
"<i>\\1</i>", $html);
echo
$strBaru;
?>
Mengekstrak kalimat dari
sebuah parapgraf
Anda akan mengekstraksi kalimat pertama atau
kalimat terakhir dari sebuah paragraf. Anda bisa menggunakan fungsi strtok() untuk memecah paragraf menjadi
kalimat-kalimat, dan kemudian mengekstraksi kalimat yang diinginkan.
<?php
//
ekstraksi_kalimat.php
//
mendefinisikan string
$text
= "Anda akan
mengekstraksi kalimat pertama atau
kalimat terakhir dari sebuah paragraf.
Anda bisa
menggunakan fungsi strtok() untuk
memecah paragraf
menjadi kalimat-kalimat, dan kemudian
mengekstraksi
kalimat yang diinginkan.";
//
ekstraksi kalimat pertama
//
hasil: "Anda
akan mengekstraksi kalimat pertama atau
//
kalimat terakhir dari sebuah paragraf"
$kalimatPertama
= strtok($text, ".?!");
echo
$kalimatPertama;
//
ekstraksi kalimat terakhir
//
hasil: "Anda bisa
//
menggunakan
fungsi strtok() untuk memecah paragraf
//
menjadi
kalimat-kalimat, dan kemudian mengekstraksi
//
kalimat yang diinginkan"
$kalimatTerakhir
= strrev(strtok(strrev(trim($text)), ".?!"));
echo
$kalimatTerakhir;
?>
Menghasilkan sidik hash dari
string
Anda akan menggunakan fungsi md5() atau sha1() untuk mendapatkan sidik hash dari sebuah string.
<?php
//
hash_string.php
//
mendefinisikan string
$str
= "dua meter ke kiri, empat meter ke kanan";
//
mendapatkan hash MD5 dari string
//
hasil: "29a2b877f32c50256feebb42bfca6d99"
$md5
= md5($str);
echo
$md5;
//
mendapatkan hash SHA1 dari string
//
hasil: "2a00199e73e5e013c6fa43595d044176ae582d55"
$sha1
= sha1($str);
echo
$sha1;
?>
Mengenkripsi string
(satu-arah)
Di sini, Anda akan mengenkripsi sebuah string
menggunakan enkripsi satu-arah. Anda akan menggunakan fungsi PHP crypt().
<?php
//
enkripsi_string.php
//
mendefinisikan string password
$password
= "tebakaku";
//
mendefinisikan salt
$salt
= "rosebud";
//
mengenkripsi string
//
hasil: "roBnOKfA7uI5Q"
$cipher
= crypt($password, $salt);
echo
$cipher;
?>
Fungsi PHP crypt() menerima dua parameter: string yang akan dienkripsi dan
kunci (salt) yang akan dipakai untuk enkripsi. Fungsi ini kemudian mengenkripsi
string menggunakan kunci yang disediakan dan menghasilkan cipherteks (string
hasil enkripsi).
Karena fungsi crypt() menggunakan enkripsi
satu-arah, maka tidak dimungkinkan untuk mendapatkan string asli dari string
cipherteks. Anda mungkin bertanya-tanya apa kegunaannya, untuk apa mengenkripsi
dan hasilnya tidak bisa didekripsi. Tetapi, enkripsi ini ada gunanya yaitu
untuk memverifikasi password. Contoh ini diilustrasikan pada kode berikut:
<?php
//
enkripsi_string2.php
//
mendefinisikan string password
$password
= "tebakaku";
//
mendefinisikan salt/kunci
$salt
= "rosebud";
//
mengenkripsi string
$cipher
= crypt($password, $salt);
//
mengasumsikan pengguna memasukkan ini
$masukan
= "tebakacak";
//
mengenkripsi masukan pengguna
//
mengujinya dengan password yang terenkripsi
//
hasil: "Password tidak cocok"
echo
($cipher == crypt($masukan, $salt)) ?
"Password
cocok" : "Password tidak cocok";
//
sekarang asumsi pengguna memasukkan ini
$masukan
= "tebakaku";
//
mengenkripsi masukan pengguna
//
mengujinya dengan password yang terenkripsi
//
hasil: "Password cocok"
echo
($cipher == crypt($masukan, $salt)) ?
"Password
cocok" : "Password tidak cocok";
?>
No comments:
Post a Comment