3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function multiexplode ($arrayOfDelimiters,$string) { $ready = str_replace($arrayOfDelimiters, $arrayOfDelimiters[0], $string); $launch = explode($arrayOfDelimiters[0], $ready); return $launch; } function removeAccent($str){ $encoding='utf-8'; //$accent = "ÀÁÂÃÇÈÉÊËÌÍÎÏÒÓÔÙÚÛÜàáâãçèéêëìíîïòóôõöùúûüýÿ' ,*"; //$removedAccent = "AAAACEEEEIIIIOOOUUUUaaaaceeeeiiiiooooouuuuyy--"; //return str_replace($accent,$removedAccent,$str); // transformer les caractères accentués en entités HTML $str = htmlentities($str, ENT_NOQUOTES, $encoding); // remplacer les entités HTML pour avoir juste le premier caractères non accentués // Exemple : "&ecute;" => "e", "&Ecute;" => "E", "à " => "a" ... $str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\1', $str); // Remplacer les ligatures tel que : Œ, Æ ... // Exemple "Å“" => "oe" $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); //remplacer les apostrophe par rien pour la comparaison $str = preg_replace( "#\'#", "", $str ); return $str; } function CnDisplayNameCnamNomJeuneFilleTreatment($sn,$givenname,$nomJeuneFille){ $userToAdd = array(); $nomSansAccent = ucwords(strtoupper(removeAccent($sn))); $prenomSansAccent = ucwords(strtolower(removeAccent($givenname))); if(!empty($nomJeuneFille) && strtolower($nomJeuneFille) != strtolower($sn)){ $njfSansAccent = ucwords(strtoupper(removeAccent($nomJeuneFille))); $userToAdd['cn'] = $njfSansAccent.' '.$nomSansAccent.' '.$prenomSansAccent; $userToAdd['displayname'] = ucfirst(strtolower($givenname))." ".strtoupper($sn)." ".strtoupper($nomJeuneFille); $userToAdd['cnamnomjeunefille'] = ''; $nomjeunefilletraite = array_map('trim',multiexplode(array("," , "/" , "\\" , " " , "-" , "'"),$nomJeuneFille)); foreach($nomjeunefilletraite as $onePartOfTheNoun) if($onePartOfTheNoun != " " && $onePartOfTheNoun != "") $userToAdd['cnamnomjeunefille'] .=strtoupper(removeAccent($onePartOfTheNoun))." " ; //on enlève le dernier espace $userToAdd['cnamnomjeunefille'] = trim($userToAdd['cnamnomjeunefille']); } else{ $userToAdd['cn'] = $nomSansAccent.' '.$prenomSansAccent; $userToAdd['displayname'] = ucfirst(strtolower($givenname))." ".strtoupper($sn); } return $userToAdd; } $tab = CnDisplayNameCnamNomJeuneFilleTreatment("Nomari","Nass-Nass salut","Njf"); var_dump($tab); ?>
Output for 4.3.2 - 7.2.0
array(3) { ["cn"]=> string(26) "NJF NOMARI Nass-nass Salut" ["displayname"]=> string(26) "Nass-nass salut NOMARI NJF" ["cnamnomjeunefille"]=> string(3) "NJF" }
Output for 4.3.0 - 4.3.1

Process exited with code 139.