<?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 git.master, git.master_jit, rfc.property-hooks
- array(3) {
["cn"]=>
string(26) "NJF NOMARI Nass-nass Salut"
["displayname"]=>
string(26) "Nass-nass salut NOMARI NJF"
["cnamnomjeunefille"]=>
string(3) "NJF"
}
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
preferences:
49.32 ms | 401 KiB | 8 Q