Metin alanında kelimeleri A-Z, Z-A olarak sıralatmak.
Bir textarea veya bir kaynaktan alınan satırlı kelimeleri, A-Z olarak sıralı hale getirmek gerekirse, metini, satırlarla(veya duruma göre boşluk karakteriyle) ayırıp, diziye attıktan sonra “sort” fonksiyonu ile değerleri A-Z olarak sıralayabiliriz.
Kodlar;
index.php
$siralanacak = isset( $_POST['metin'] ) ? trim($_POST['metin']) : null;
$asil_metin = $sayfada_gosterilecek = null;
if( $siralanacak ) {
$asil_metin = $siralanacak;
$siralanacak = strip_tags($siralanacak);
$parcala = explode(PHP_EOL, $siralanacak);
if($parcala) {
sort($parcala);
foreach($parcala as $v) {
if( trim($v) )
$sayfada_gosterilecek .= $v.PHP_EOL;
}
}
}
include 'index-tmp.php';
Metini aldık ve explode yardımıyla satırlarına göre böldük, bu işlem bir arry dizi oluşturdu. Sonra “sort” fonksişyonu ile ilgili diziyi değerlerine göre sıradık. Z-A Olarak sıralamak istersek “sort” yerine “rsort” kullanabiliriz.
Tema dosyası, index-tmp.php
<!DOCTYPE html>
<html lang="tr-TR">
<head>
<meta charset="UTF-8">
<title>PHP-String-Sort</title>
<style type="text/css">
.container {
width:100%;
margin:0 auto;
}
form {
width:250px;
margin:0 auto;
display:block;
margin-top:5%;
border:1px solid #ddd;
padding:20px;
background:#eee;
}
form textarea {
width:100%;
min-height:120px;
}
form .sonuc {
background:#fff;
border:1px solid #ddd;
padding:3px;
max-height:200px;
overflow:auto;
}
</style>
</head>
<body>
<div class="container">
<form method="post">
<label for="metin">Metin <small>Enter ile ayırın</small></label>
<textarea name="metin" id="metin"><?php echo $asil_metin?></textarea>
<button type="submit">Sırala</button>
<?php if($sayfada_gosterilecek):?>
<div><br /><strong>Sonuç</strong></div>
<div class="sonuc"><?php echo nl2br($sayfada_gosterilecek)?></div>
<?php endif?>
</form>
</div>
</body>
</html>