Skip to content

Instantly share code, notes, and snippets.

@milan-sahana
Last active December 9, 2025 09:01
Show Gist options
  • Select an option

  • Save milan-sahana/4e53f1398885c6e80d20349a03a30adf to your computer and use it in GitHub Desktop.

Select an option

Save milan-sahana/4e53f1398885c6e80d20349a03a30adf to your computer and use it in GitHub Desktop.
function get_name_processed_to_compare($name)
{
$remove_array = ["MR ", "MRS ", "MS ", "MISS ", "SMT ", "MR.", "MRS.", "MS.", "MISS.", "SMT.", "(", ")", "."];
$middle_name_array = ["KR", "KUMAR", "PRASAD", "MD"];
$remove_array = array_merge($middle_name_array, $remove_array);
$pan_name_arr = explode(" ", $name);
$pan_name_processed_arr = array_diff($pan_name_arr, $remove_array);
return implode("", $pan_name_processed_arr);
}
function compareNames($member_name, $pan_name)
{
$member_name_processed = get_name_processed_to_compare((string)$member_name);
$pan_name_processed = get_name_processed_to_compare((string)$pan_name);
return $member_name_processed && $pan_name_processed && (strpos($member_name_processed, $pan_name_processed) !== false || strpos($pan_name_processed, $member_name_processed) !== false);
}
/*
function compareNames($member_name, $pan_name)
{
if(strlen((string)$member_name) > 0 && strlen((string)$pan_name) > 0) {
// Normalize Member Name
$member_name_processed = strtoupper(str_replace(' ', '', trim($member_name)));
// Words/characters to remove from PAN name
$remove_array = ["MR ", "MRS ", "MS ", "MISS ", "SMT ", "MR.", "MRS.", "MS.", "MISS.", "SMT.", "(", ")", "."];
// Normalize PAN Name
$pan_name_processed = str_replace($remove_array, "", strtoupper($pan_name));
$pan_name_processed = strtoupper(str_replace(' ', '', trim($pan_name_processed)));
// Compare both processed strings
if(strpos($member_name_processed, $pan_name_processed) !== false ||
strpos($pan_name_processed, $member_name_processed) !== false) {
return 1;
}
else {
$middle_name_array = ["KR", "KUMAR", "PRASAD", "MD"];
$remove_array = array_merge($middle_name_array, $remove_array);
$pan_name_arr = explode(" ", $pan_name);
$pan_name_processed_arr = array_diff($pan_name_arr, $remove_array);
$pan_name_processed = implode("", $pan_name_processed_arr);
// Compare both processed strings
if(strpos($member_name_processed, $pan_name_processed) !== false ||
strpos($pan_name_processed, $member_name_processed) !== false) {
return 1;
}
else {
return 0;
}
}
}
else {
return 0;
}
}*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment