Labas, Vardeni pavardeni v2.0 [php]

Kažkurią rudens dieną prireikė skripto, kuris kreiptųsi į žmogų teisingai, pvz: “Labas, Vardeni Pavardeni”, o ne – “Labas, Vardenis Pavardenis”. Taigi bandžiau pasirašyt tam f-ją. Gal kada kam nors prireiks.

<?php
/*********************************************

Aurimas Labanauskas, v2.0
Ačiū Ignui už pagalbą optimizuojant :)
*********************************************/

function vardo_kreipinys ($vardas = '') {

    $galunes = array('ė', 'a', 'as', 'us', 'ys', 'is');
    $galunes_replace = array('e', 'a', 'ai', 'au', 'y', 'i');
          
    foreach ($galunes as $key => $value) {
        $galunes[$key] = '#'. $value .'(?=\s|$)#';
    }
    $kreipinys = preg_replace($galunes, $galunes_replace, $vardas);
    
    return $kreipinys;
}

// Panaudojimas
echo vardo_kreipinys('Vardenis Pavardenis');

//Išskaidyti pažodžiui galima panaudojus explode() f-ją
?>

Categories: php, web

8 Comments

  1. Abejoju kad tavo galūnių meikeris išdirbtas iki galo :)

  2. Nors jau metai praėjo nuo įrašo, bet prireikė man… Tik va viena bėda:
    Vardas ‘Kasparas’ patampa ‘Kparai’..kodėl?:)

  3. Sveiki,
    galbūt patartumėt greitą būdą, kaip tokį dalyką padaryti dienoms?

    tarkim taip:

    prieš 1 dieną
    prieš 2 dienas
    prieš 3 dienas
    prieš 10 dienų
    prieš 22 dienas ir t.t. :)

  4. Ačiū, pravertė :)

    Tik yra viena klaidelė 25 eil.:
    $vardas = str_ireplace(strrchr($vardas, ‘ė’), ‘e’, $vardas);

    Tokiu būdu Tu pakeiti visas “ė” į “e”. Konkrečiai papuolė vardas Petronėlė, kurį pakeitė į Petronele.

    Siūlymas:
    $vardas= mb_substr($vardas, 0, -1) . ‘e’;

Leave a Reply to R Cancel reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

Copyright © 2024 blogas.labanauskas.lt

Theme by Anders NorenUp ↑