VULN_CHECK_0COQYTquery($requette)){ die("err sql - fonctions.php
".$db_s->error); } else while($db_s->next_record()){ $arr[] = $db_s->record; $i++; } return($arr); } function list_array_tags($id_agenda, $ressource_agenda, $mytag){ global $db_s; if($ressource_agenda != ""){ $ressource = explode(";", $ressource_agenda); $i= 0; foreach($ressource as $info_participant){ if($id_mem == $info_participant){ $sql_req = " SELECT membres.nom, membres.prenom, agenda.titre_agenda, agenda.id_agenda FROM agenda LEFT JOIN membres on agenda.id_agenda = '".$id_agenda."' WHERE id_mem = '".$id_mem."' AND group_id >='1' ORDER BY membre.nom DESC"; if($db_s->query($sql_req)){ while($db_s->next_record()){ $ress[$i]["titre_agenda"] .= utf8_encode($db_s->f("titre_agenda")); $ress[$i]["id_agenda"] .= utf8_encode($db_s->f("id_agenda")); $i++; } } } } } return($ress); } function redirection($page) { echo "\n"; } function slashes_tosql_date($date){ // 30/12/2014 -> 0000-12-31 00:00:00 $tab = explode(" ", $date); $heures = explode(':', $tab[1]); $jours = explode('/', $tab[0]); $date = $jours[2]."-".$jours[1]."-".$jours[0]." "; $date.= $heures[0].":".$heures[1].":".$heures[2]; return ($date); } function replace_br($data) { $data = preg_replace('#(?:\s*?){2,}#', '

', $data); return "

$data

"; } function fr_datefromdb_admin($fbdate){ if($fbdate=="0000-00-00 00:00:00") return("Aucune date"); $tab_date = array ("00" => "", "01" => "janvier", "02" => "février", "03" => "mars", "04" => "avril", "05" => "mai", "06" => "juin", "07" => "juillet", "08" => "août", "09" => "septembre", "10" => "octobre", "11" => "novembre", "12" => "décembre" ); $fbdate = @explode(" ",$fbdate); $tdate = @explode("-",$fbdate[0]); $jour = $tdate[2]; $mois = $tdate[1]; //$mois = ($tab_date[$tdate[1]]); $annee= $tdate[0]; $heure = explode(":", $fbdate[1]); $heure =$heure[0].":".$heure[1].":".$heure[2]; $niced_date = $jour."/".$mois."/".$annee." ".$heure.""; return($niced_date); } function myreplace_charfromjs($chaine) { $accents = array ( "[et]", "[plus]" ); $sans = array ( "&", "+" ); return str_replace ( $accents, $sans, $chaine ); } function getmicrotime() { list ( $usec, $sec ) = explode ( " ", microtime () ); return (( float ) $usec + ( float ) $sec); } function truncate($amount, $digit = 2) { $multiplier = pow ( 10, $digit ); return floor ( $amount * $multiplier ) / $multiplier; } function sql_date($date) { $tab = explode ( "/", $date ); return ($tab [2] . "-" . $tab [1] . "-" . $tab [0]); } function sql_datefr($date) { $tab = explode ( "/", $date ); return ($tab [2] . "-" . $tab [1] . "-" . $tab [0]); } function dateFR_fromsql($date) { if ($date == "0000-00-00") $date = "2011-01-01"; $tab_date = array ( "01" => "Janvier", "02" => "Février", "03" => "Mars", "04" => "Avril", "05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => "Août", "09" => "Septembre", "10" => "Octobre", "11" => "Novembre", "12" => "Décembre" ); $new_date = explode ( "-", $date ); $new_datex = $new_date [2] . " " . $tab_date [$new_date [1]] . " " . $new_date [0]; return ($new_datex); } function human_date($date) { $cut = explode ( " ", $date ); $tab = explode ( "-", $cut [0] ); return ($tab [2] . "/" . $tab [1] . "/" . $tab [0]); } function utf8_encode2($str) { $final_str = $str; $final_str = str_replace ( 'œ', 'œ', $final_str ); $final_str = str_replace ( '’', 'ߣ', $final_str ); $final_str = str_replace ( '“', 'ÉC;', $final_str ); $final_str = str_replace ( '”', 'ÉD;', $final_str ); $final_str = str_replace ( '…', 'ߪ', $final_str ); $final_str = str_replace ( '€', '€', $final_str ); $final_str = utf8_encode ( $final_str ); $final_str = str_replace ( utf8_encode ( 'œ' ), 'Å“', $final_str ); $final_str = str_replace ( utf8_encode ( 'ߣ' ), '’', $final_str ); $final_str = str_replace ( utf8_encode ( 'ÉC;' ), '“', $final_str ); $final_str = str_replace ( utf8_encode ( 'ߪ' ), '…', $final_str ); $final_str = str_replace ( utf8_encode ( 'ÉD;' ), '”', $final_str ); $final_str = str_replace ( utf8_encode ( '€' ), '€', $final_str ); return $final_str; } function mysql_DateTime4($d) { $date = substr ( $d, 8, 2 ) . "/"; // jour $date = $date . substr ( $d, 5, 2 ) . "/"; // mois $date = $date . substr ( $d, 0, 4 ) . " ("; $date = $date . substr ( $d, 11, 2 ) . "h"; $date = $date . substr ( $d, 14, 2 ) . " "; $date = $date . substr ( $d, 17, 2 ) . "s) "; return ($date); } function mysql_DateTime2($d) { // 20080126231922 - 01/26/2008 23h19'22 $date = substr ( $d, 6, 2 ) . "/"; // jour $date = $date . substr ( $d, 4, 2 ) . "/"; // mois $date = $date . substr ( $d, 0, 4 ); // . " à "; // année /* * $date = $date.substr($d,8,2). "h"; $date = $date.substr($d,10,2). "'"; * $date = $date.substr($d,12,2); // heures et minutes */ return $date; } function mysql_DateTime($d) { $date = substr ( $d, 8, 2 ) . "/"; // jour $date = $date . substr ( $d, 5, 2 ) . "/"; // mois $date = $date . substr ( $d, 0, 4 ) . " à "; $date = $date . substr ( $d, 11, 2 ) . "h"; $date = $date . substr ( $d, 14, 2 ) . " "; /* * $date = * $date.substr($d,17,2)."sec."; */ return $date; } function mysql_DateTime3($d) { $date = substr ( $d, 8, 2 ) . "/"; // jour $date = $date . substr ( $d, 5, 2 ) . "/"; // mois $date = $date . substr ( $d, 0, 4 ) . ""; /* * $date = $date.substr($d,11,2). * "h"; $date = * $date.substr($d,14,2). " "; * $date = * $date.substr($d,17,2)."sec."; */ return $date; } function wd_remove_accents($str, $charset = 'utf-8') { $str = htmlentities ( $str, ENT_NOQUOTES, $charset ); $str = preg_replace ( '#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $str ); $str = preg_replace ( '#\&([A-za-z]{2})(?:lig)\;#', '\1', $str ); // pour les // ligatures // e.g. // 'œ' $str = preg_replace ( '#\&[^;]+\;#', '', $str ); // supprime les autres // caractères return $str; } function url_tolink($titre) { $i = 0; $titre = strtr ( $titre, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'.", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn " ); $keys = array (); $keys = explode ( " ", $titre ); while ( $keys [$i] ) { if (strlen ( $keys [$i] ) > 3) { $titled .= strtolower ( $keys [$i] ) . '-'; } $i ++; } return ($titled); } function make_url_totitle($select_motsclef, $nb_mots, $min_lenmots) { $renamed = ""; $speciaux = array ( "?", "!", "@", "%", "&", "*", "(", ")", "=", "+", ";", ":", "'", ".", "--", "-", "/", "\\n", "
", "
", "\\r" ); $select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ); $tab = explode ( "-", $select_motsclef ); $i = 0; $erf = 0; while ( $tab [$i] ) { if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++; if ((strlen ( $tab [$i] ) >= $min_lenmots) && ($erf <= $nb_mots) && ($tab [$i] != $speciaux)) { $renamed .= $tab [$i] . "-"; $erf ++; } $i ++; } $renamed = empty ( $renamed ) ? $tab [$i] : $renamed; $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); $niced_url = strtolower ( $niced_url ); return ($niced_url); } function compare($a, $b) { if ($a == $b) return 0; return ($a > $b) ? - 1 : 1; } function make_niceurl($select_motsclef, $nb_mots, $min_lenmots) { $renamed = ""; $niced_url1 = ""; $niced_url = ""; $flag = 0; $speciaux = array ( "[", "]", "?", "!", "@", "%", "&", "*", "(", ")", "=", "+", ";", ":", "'", ".", "-", "/", ",", "°", "\"", "\'", " ", " ", "é", "&eagrave;", "  ", "%20"/* "faire", "bonjour","toute", "suite","pour","votre","suis","trop","mon","une","les","qui","sur","que","plus","tous","mes","mon","lqu","un"*/ ); $niced_url = str_replace ( $speciaux, " ", $select_motsclef ); $niced_url1 = strtolower ( strtr ( $niced_url, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ) ); $tab = explode ( " ", $niced_url1 ); $i = 0; $erf = 0; uasort ( $tab, "compare" ); $tab = array_unique ( $tab ); while ( list ( $key, $value ) = each ( $tab ) ) { if (strlen ( $value ) > $min_lenmots && $i < $nb_mots) { $renamed .= $value . "-"; } $i ++; } $renamed = str_replace ( "--", "", $renamed ); $renamed = empty ( $renamed ) ? $tab [0] : $renamed; $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); $niced_url = strtolower ( $niced_url ); // return ($niced_url); } function make_sortniceurl($select_motsclef, $nb_mots, $min_lenmots, $order, $makestopword = "dostopwords") { $renamed = ""; $niced_url1 = ""; $niced_url = ""; $flag = 0; $from = explode ( ',', "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,Î,ô,û,å,e,i,ø,u,(,),[,],'" ); $to = explode ( ',', 'c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,i,o,u,a,e,i,o,u,,,,,,' ); // Do the replacements, and convert all other non-alphanumeric characters to // spaces $select_motsclef = preg_replace ( '~[^\w\d]+~', '-', str_replace ( $from, $to, trim ( $select_motsclef ) ) ); // Remove a - at the beginning or end and make lowercase $niced_url = strtolower ( preg_replace ( '/^-/', '', preg_replace ( '/-$/', '', $select_motsclef ) ) ); $tab = explode ( "-", $niced_url ); $stopwords = array ( "au" ); if ($makestopword != "dostopwords") { $stopwords = array ( "au", "aux", "ce", "ces", "dans", "de", "des", "du", "elle", "en", "et", "eux", "il", "je", "la", "le", "leur", "lui", "ma", "mais", "me", "même", "mes", "moi", "mon", "ne", "nos", "notre", "nous", "on", "ou", "par", "pas", "pour", "qu", "que", "qui", "sa", "se", "ses", "son", "sur", "ta", "te", "tes", "toi", "ton", "tu", "un", "une", "vos", "votre", "vous", "c", "d", "j", "l", "à", "a", "m", "n", "s", "t", "y", "été", "étée", "êtes", "étés", "étant", "suis", "es", "est", "sommes", "etes", "sont", "serai", "seras", "sera", "serons", "serez", "seront", "serais", "serait", "serions", "seriez", "seraient", "étais", "était", "étions", "étiez", "étaient", "fus", "fut", "fûmes", "fûtes", "furent", "sois", "soit", "soyons", "soyez", "soient", "fusse", "fusses", "fût", "fussions", "fussiez", "fussent", "fussent", "fussent", "ayant", "eu", "eue", "eues", "eus", "ai", "as", "avons", "avez", "ont", "aurai", "auras", "aura", "aurons", "aurez", "auront", "aurais", "aurait", "aurions", "auriez", "auraient", "avais", "avait", "avions", "aviez", "avaient", "eut", "eurent", "aie", "aies", "ait", "ayons", "ayez", "aient", "eusse", "eusses", "eussions", "eussiez", "eussent", "eussent", "eussent", "ceci", "celà", "cet", "cette", "ici", "ils", "les", "leurs", "quel", "quels", "quelle", "quelles", "soi", "soi", "faire", "bonjour", "toute", "suite", "pour", "votre", "suis", "trop", "mon", "une", "les", "qui", "sur", "que", "plus", "tous", "mes", "mon", "lqu", "un", "par", "du", "l'", "aux" ); } $i = 0; $erf = 0; if ($order != 0 || $order == 1) uasort ( $tab, "compare" ); $flag = 0; $tab = array_unique ( $tab ); while ( list ( $key, $value ) = each ( $tab ) ) { if (((strlen ( $value ) >= $min_lenmots) && ($i <= $nb_mots)) || is_numeric ( $value )) { $uflag = 0; for($f = 0; $f < count ( $stopwords ); $f ++) { if ($stopwords [$f] == $value) { $uflag = 1; // echo "flagged :".$stopwords[$f]."
"; } } if ($uflag == 0) $renamed .= $value . "-"; } $i ++; } $renamed = str_replace ( "--", "-", $renamed ); $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); return ($niced_url); } function make_sortnicedescr($select_motsclef, $nb_mots, $min_lenmots, $order, $makestopword = "dostopwords") { $renamed = ""; $niced_url1 = ""; $niced_url = ""; $flag = 0; // Remove a - at the beginning or end and make lowercase // $niced_url = strtolower (preg_replace ('/^-/', '', preg_replace ('/-$/', // '', $select_motsclef))); $niced_url = (preg_replace ( '/^-/', '', preg_replace ( '/-$/', '', $select_motsclef ) )); $tab = explode ( " ", $niced_url ); $stopwords = array ( "au" ); if ($makestopword != "dostopwords") { $stopwords = array ( "au", "aux", "ce", "ces", "dans", "de", "des", "du", "elle", "en", "et", "eux", "il", "je", "la", "le", "leur", "lui", "ma", "mais", "me", "même", "mes", "moi", "mon", "ne", "nos", "notre", "nous", "on", "ou", "par", "pas", "pour", "qu", "que", "qui", "sa", "se", "ses", "son", "sur", "ta", "te", "tes", "toi", "ton", "tu", "un", "une", "vos", "votre", "vous", "c", "d", "j", "l", "à", "a", "m", "n", "s", "t", "y", "été", "étée", "êtes", "étés", "étant", "suis", "es", "est", "sommes", "etes", "sont", "serai", "seras", "sera", "serons", "serez", "seront", "serais", "serait", "serions", "seriez", "seraient", "étais", "était", "étions", "étiez", "étaient", "fus", "fut", "fûmes", "fûtes", "furent", "sois", "soit", "soyons", "soyez", "soient", "fusse", "fusses", "fût", "fussions", "fussiez", "fussent", "fussent", "fussent", "ayant", "eu", "eue", "eues", "eus", "ai", "as", "avons", "avez", "ont", "aurai", "auras", "aura", "aurons", "aurez", "auront", "aurais", "aurait", "aurions", "auriez", "auraient", "avais", "avait", "avions", "aviez", "avaient", "eut", "eurent", "aie", "aies", "ait", "ayons", "ayez", "aient", "eusse", "eusses", "eussions", "eussiez", "eussent", "eussent", "eussent", "ceci", "celà", "cet", "cette", "ici", "ils", "les", "leurs", "quel", "quels", "quelle", "quelles", "soi", "soi", "faire", "bonjour", "toute", "suite", "pour", "votre", "suis", "trop", "mon", "une", "les", "qui", "sur", "que", "plus", "tous", "mes", "mon", "lqu", "un", "par", "du", "l'", "aux" ); } $i = 0; $erf = 0; if ($order != 0 || $order == 1) uasort ( $tab, "compare" ); $flag = 0; $tab = array_unique ( $tab ); while ( list ( $key, $value ) = each ( $tab ) ) { if (((strlen ( $value ) >= $min_lenmots) && ($i <= $nb_mots)) || is_numeric ( $value ) && strlen ( $renamed ) <= 255) { $uflag = 0; for($f = 0; $f < count ( $stopwords ); $f ++) { if ($stopwords [$f] == $value) { $uflag = 1; // echo "flagged :".$stopwords[$f]."
"; } } if ($uflag == 0) $renamed .= $value . " "; } $i ++; } $renamed = str_replace ( " ", " ", $renamed ); $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); return ($niced_url); } function make_nice_title($select_motsclef, $nb_mots, $min_lenmots) { $renamed = ""; $speciaux = array ( "?", "!", "@", "%", "&", "*", "(", ")", "=", "+", ";", ":", "--", "-", " ", "/", "<", ">", "_", "\\n", "
", "
", "\\r", "\\t" ); $select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ); $tab = explode ( " ", $select_motsclef ); $i = 0; $erf = 0; while ( @$tab [$i] ) { if ((strlen ( $tab [$i] ) >= $min_lenmots) && ($erf <= $nb_mots) && ($tab [$i] != $speciaux)) { $renamed .= $tab [$i] . "-"; $erf ++; } $i ++; } $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); $niced_url = strtolower ( $niced_url ); $niced_url = str_replace ( $speciaux, " ", $niced_url ); return ($niced_url); } function make_nice_stitle($select_motsclef, $nb_mots, $min_lenmots) { $min_lenmots = 1; $speciaux = array ( "?", "!", "@", "%", "&", "*", "(", ")", "=", "+", ";", ":", "'", ".", "--", "-", " ", "/", "'", "\"" ); $select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ); $niced_url = str_replace ( $speciaux, " ", $select_motsclef ); $tab = explode ( " ", $niced_url ); $i = 0; $erf = 0; while ( $tab [$i] ) { if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++; if ($erf < $nb_mots && strlen ( $tab [$i] ) >= $min_lenmots) { $renamed .= str_replace ( $speciaux, "", ($tab [$i]) ) . " "; $erf ++; $i ++; } else $i ++; } $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 1 ); $niced_url = strtolower ( $niced_url ); return (utf8_decode ( $niced_url )); } function make_keywords($select_motsclef, $nb_mots, $min_lenmots) { $min_lenmots = 1; $select_motsclef = htmlentities ( $select_motsclef ); $speciaux = array ( "°", "?", "!", "@", "%", "&", "*", "(", ")", "=", "+", ";", ":", "'", ".", "--", "-", " ", "/", "'", "\"" ); $select_motsclef = strtr ( $select_motsclef, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ); $niced_url = str_replace ( $speciaux, " ", $select_motsclef ); $tab = explode ( " ", $niced_url ); $renamed = ""; $i = 0; $erf = 0; while ( @$tab [$i] ) { if (strlen ( $tab [$i] ) <= $min_lenmots) $i ++; if ($erf < $nb_mots && strlen ( $tab [$i] ) >= $min_lenmots) { $renamed .= str_replace ( $speciaux, "", ($tab [$i]) ) . ", "; $erf ++; $i ++; } else $i ++; } $niced_url = substr ( $renamed, 0, strlen ( $renamed ) - 2 ); $niced_url = strtolower ( $niced_url ); return (utf8_decode ( $niced_url )); } function cleanCut($string, $length, $cutString = '...') { $str = ""; $count = 0; if (strlen ( $string ) <= $length) return $string; else { $str = substr ( $string, 0, $length - strlen ( $cutString ) + 1 ); return substr ( $str, 0, strrpos ( $str, ' ' ) ) . $cutString; } } function cleanCutFrom($text, $length, $ending = ' ', $exact = false) { if (strlen ( preg_replace ( '/<.*?>/', '', $text ) ) <= $length) { return $text; } preg_match_all ( '/(<.+?>)?([^<>]*)/is', $text, $matches, PREG_SET_ORDER ); $total_length = 0; $arr_elements = array (); $truncate = ""; foreach ( $matches as $element ) { if (! empty ( $element [1] )) { if (preg_match ( '/^<\s*.+?\/\s*>$/s', $element [1] )) { } else if (preg_match ( '/^<\s*\/([^\s]+?)\s*>$/s', $element [1], $element2 )) { $pos = array_search ( $element2 [1], $arr_elements ); if ($pos !== false) { unset ( $arr_elements [$pos] ); } } else if (preg_match ( '/^<\s*([^\s>!]+).*?>$/s', $element [1], $element2 )) { array_unshift ( $arr_elements, strtolower ( $element2 [1] ) ); } $truncate .= $element [1]; } $content_length = strlen ( preg_replace ( '/(&[a-z]{1,6};|&#[0-9]+;)/i', ' ', $element [2] ) ); if ($total_length >= $length) { break; } elseif ($total_length + $content_length > $length) { $left = $total_length > $length ? $total_length - $length : $length - $total_length; $entities_length = 0; if (preg_match_all ( '/&[a-z]{1,6};|&#[0-9]+;/i', $element [2], $element3, PREG_OFFSET_CAPTURE )) { foreach ( $element3 [0] as $entity ) { if ($entity [1] + 1 - $entities_length <= $left) { $left --; $entities_length += strlen ( $entity [0] ); } else break; } } $truncate .= substr ( $element [2], 0, $left + $entities_length ); break; } else { $truncate .= $element [2]; $total_length += $content_length; } } if (! $exact) { $spacepos = strrpos ( $truncate, ' ' ); if (isset ( $spacepos )) { $truncate = substr ( $truncate, 0, $spacepos ); } } $truncate .= $ending; foreach ( $arr_elements as $element ) { $truncate .= ''; } return $truncate; } function wordCut($sText, $debut, $iMaxLength, $sMessage) { if (strlen ( $sText ) > $iMaxLength) { $sString = wordwrap ( $sText, ($iMaxLength - (strlen ( $sMessage ))), '[cut]', 1 ); $asExplodedString = explode ( '[cut]', $sString ); $sText = $sCutText = $asExplodedString [$debut]; $sText = "" . $sCutText . "" . $sMessage . ""; } else { $sText .= $sText . ""; } return ($sText); } function submystr($str, $lenght = "25") { $mystr = ""; if (strlen ( $str ) >= $lenght) { $mystr = substr ( $str, 0, $lenght ) . "... "; } else $mystr = $str; return ($mystr); } function shortenStr($str, $max, $sep = '.', $width = 3) { $str = html_entity_decode ( $str ); $nb = strlen ( $str ); // Nombre de caractères if ($nb > $max) { if ($str [$max] == "é" || $str [$max] == "è" || $str [$max] == "à" || $str [$max] == "&") $max ++; $p = $nb - $max + $width; // Nombre de caractères en trop if ($max < $width) // Dans le cas où la largeur max est inférieur à la // largeur du séparateur { $width = $max; } $start = ceil ( $nb / 2 - $p / 2 ); return substr ( $str, 0, $start ) . str_repeat ( $sep, $width ) . substr ( $str, ceil ( $start + $p ) ); // début de la chaine séparateur du milieu fin de la chaine } return $str; }