<?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);
?>
preferences:
47.96 ms | 402 KiB | 5 Q