删除字符串并获取右侧剩余的任何内容
remove a string and get whatever left on the right side
我的字符串像
Priv.-Doz。医学博士。苏珊。安德烈亚斯·派洛
博士。医学。 Sumat 达格德伦
教授。医学博士。桑德里安·阿克塞格勒
如何删除 "Dr. med." 并获取字符串的右侧,以防在删除 Dr. med.
后我会得到 'Susan. Andreas Pailo'
问题可能在某处重复,但经过多次尝试后仍未找到。
请建议,
谢谢
$str = 'Prof. Dr. med. Sandrien Axaigeler';
$str = str_replace("Dr. med.","",$str);
$str = str_replace("Prof.","",$str);
echo $str;
尝试使用 str_replace
$value = str_replace("Dr. med.","",$value );
它应该work.Search你想要的字分开。
$string = 'Prof. Dr. med. Sandrien Axaigeler';
$string = str_replace("Dr. med.","",$string );
$string = str_replace("Prof.","",$string );
print_r($string);
尝试以下操作:
$str = 'Prof. Dr. med. Sandrien Axaigeler';
$name_str = str_replace("Prof.","",$str);
$name_str = str_replace("Priv.-Doz.","",$name_str);
$name_str = str_replace("Dr. med.","",$name_str);
$name_str = trim($name_str);
要在某些字符串使用 explode()
后得到正确的字符串
$data="Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$search="Dr. med.";
$result = explode($search, $data);
echo end($result);//Susan. Andreas Pailo
使用 substr
和 strpos
函数的简短解决方案:
$str = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$seach_str = "Dr. med.";
echo substr($str, strpos($str, $seach_str) + strlen($seach_str));
// "Susan. Andreas Pailo"
我可以假设您要求提取字符串的一部分 after Dr. med.,并且不一定需要保留字符串的其余部分 - 包括前面的内容?
如果是,您可以进行以下操作:
例如:
<?php
$InputString = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$PositionOfSearch = strpos($InputString, "Dr. med.");
$ExtractedString = substr($InputString, $PositionOfSearch);
?>
尽管您可能需要调整 $PositionOfSearch 值,因为 PHP 可能 return 改为 'D' 的位置。您可以添加要搜索的字符串的长度 - Dr. med. - 至 $PositionOfSearch.
很遗憾,我目前使用的计算机中没有生产软件,我无法为您测试工作代码,但希望这能让您朝某个方向前进。
$string = "Priv.-Doz. Dr. med. Susan. Andreas Pailo"
$resularray = explode("Dr. med.",$string);
echo $resularray[0];`
这有点长且性能较差,但您可以轻松地将要删除的所有标题词添加到数组 $titles_to_ignore
。
function remove_academic_titles($input) {
$titles_to_ignore = ['Dr.', 'Prof.', 'med.', 'Priv.', 'Doz.'];
foreach ($titles_to_ignore as $title) {
$input = preg_replace("@". preg_quote($title) ."[-\s]*@", "", $input);
}
return $input;
}
$old = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$new = remove_titles($old);
我的字符串像
Priv.-Doz。医学博士。苏珊。安德烈亚斯·派洛
博士。医学。 Sumat 达格德伦
教授。医学博士。桑德里安·阿克塞格勒
如何删除 "Dr. med." 并获取字符串的右侧,以防在删除 Dr. med.
后我会得到 'Susan. Andreas Pailo'问题可能在某处重复,但经过多次尝试后仍未找到。
请建议, 谢谢
$str = 'Prof. Dr. med. Sandrien Axaigeler';
$str = str_replace("Dr. med.","",$str);
$str = str_replace("Prof.","",$str);
echo $str;
尝试使用 str_replace
$value = str_replace("Dr. med.","",$value );
它应该work.Search你想要的字分开。
$string = 'Prof. Dr. med. Sandrien Axaigeler';
$string = str_replace("Dr. med.","",$string );
$string = str_replace("Prof.","",$string );
print_r($string);
尝试以下操作:
$str = 'Prof. Dr. med. Sandrien Axaigeler';
$name_str = str_replace("Prof.","",$str);
$name_str = str_replace("Priv.-Doz.","",$name_str);
$name_str = str_replace("Dr. med.","",$name_str);
$name_str = trim($name_str);
要在某些字符串使用 explode()
后得到正确的字符串
$data="Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$search="Dr. med.";
$result = explode($search, $data);
echo end($result);//Susan. Andreas Pailo
使用 substr
和 strpos
函数的简短解决方案:
$str = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$seach_str = "Dr. med.";
echo substr($str, strpos($str, $seach_str) + strlen($seach_str));
// "Susan. Andreas Pailo"
我可以假设您要求提取字符串的一部分 after Dr. med.,并且不一定需要保留字符串的其余部分 - 包括前面的内容?
如果是,您可以进行以下操作:
例如:
<?php
$InputString = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$PositionOfSearch = strpos($InputString, "Dr. med.");
$ExtractedString = substr($InputString, $PositionOfSearch);
?>
尽管您可能需要调整 $PositionOfSearch 值,因为 PHP 可能 return 改为 'D' 的位置。您可以添加要搜索的字符串的长度 - Dr. med. - 至 $PositionOfSearch.
很遗憾,我目前使用的计算机中没有生产软件,我无法为您测试工作代码,但希望这能让您朝某个方向前进。
$string = "Priv.-Doz. Dr. med. Susan. Andreas Pailo"
$resularray = explode("Dr. med.",$string);
echo $resularray[0];`
这有点长且性能较差,但您可以轻松地将要删除的所有标题词添加到数组 $titles_to_ignore
。
function remove_academic_titles($input) {
$titles_to_ignore = ['Dr.', 'Prof.', 'med.', 'Priv.', 'Doz.'];
foreach ($titles_to_ignore as $title) {
$input = preg_replace("@". preg_quote($title) ."[-\s]*@", "", $input);
}
return $input;
}
$old = "Priv.-Doz. Dr. med. Susan. Andreas Pailo";
$new = remove_titles($old);