+
+ return ' (' . implode(', ', $names_array) . ')';
+}
+
+/** Splits a name into tokens, as used in search_name.
+ * Used for search_name rebuilding and for queries.
+ */
+function split_name_for_search($name) {
+ return preg_split('/[[:space:]\'\-]+/', strtolower(replace_accent($name)),
+ -1, PREG_SPLIT_NO_EMPTY);
+}
+
+/** Transform a name to its canonical value so it can be compared
+ * to another form (different case, with accents or with - instead
+ * of blanks).
+ * @see compare_basename to compare
+ */
+function name_to_basename($value) {
+ $value = mb_strtoupper(replace_accent($value));
+ return preg_replace('/[^A-Z]/', ' ', $value);
+}
+
+/** Compares two strings and check if they are two forms of the
+ * same name (different case, with accents or with - instead of
+ * blanks).
+ * @see name_to_basename to retreive the compared string
+ */
+function compare_basename($a, $b) {
+ return name_to_basename($a) == name_to_basename($b);