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>