我正在尝试删除字符串末尾的尾随-
(短划线)。这是我的代码:
<?php $str = 'SAVE $45! - Wed. Beach Co-ed 6s (Jul-Aug)'; echo ereg_replace('([^a-z0-9]+)','-',strtolower($str)); ?>
产生这个:
save-45-wed-beach-co-ed-6s-jul-aug-
如何删除特定的尾随字符(在本例中为短划线?
)提前致谢。
答案 0 :(得分:11)
答案 1 :(得分:1)
另一种解决方案。
<?php
$string = 'SAVE $45! - Wed. Beach Co-ed 6s (Jul-Aug)';
$search = array('/[^a-z0-9]+/', '/[^a-z0-9]$/');
$replace = array('-', '');
echo preg_replace($search, $replace, strtolower($string));
?>
输出
save-45-wed-beach-co-ed-6s-jul-aug
答案 2 :(得分:0)
你的正则表达式是错误的,因为它用短划线删除了所有非字母数字字符。
那应该是
echo ereg_replace('-$','',strtolower($str));
$表示“字符串结束”,第二个参数是替换。 (至少我是这么认为的,我不知道php ereg_replace函数)