<?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 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- 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.
preferences:
278.48 ms | 401 KiB | 358 Q