如何从字符串末尾删除撇号(' s)

时间:2016-08-22 15:14:40

标签: php regex

我想删除"""从字符串的结尾,但不能让它在PHP中工作。

我在SO上发现了这个:

function endsWith($haystack, $needle) {
// search forward starting from end minus needle length characters
    return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== false);
}   

我试着这样说:

endsWith($word,"'s");

不幸的是,对于以#结尾的单词不起作用,例如:

$word = "mom's";
$word = "dad's";

任何建议都非常感谢。正则表达式也是一种选择,我不挑剔!

编辑:删除了额外的'来自"妈妈" (对不起!)

2 个答案:

答案 0 :(得分:3)

rtrim功能应该适合您。

echo rtrim($word,"'s");

演示:https://eval.in/627045

答案 1 :(得分:2)

尝试preg_replace:

preg_replace("/\'s$/", "", $word);

这将仅消除以's结尾的字符串,例如mom's。最后没有时间,没有别的。

要替换所有这些,请尝试:

preg_replace("/\'s/", "", $word);