Php Regex-字符串末尾的修剪字符
我试图删除字符串末尾的尾随Php Regex-字符串末尾的修剪字符,php,regex,Php,Regex,我试图删除字符串末尾的尾随-(破折号)。这是我的密码: <?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- save-45-wed-beach-co-ed-6s-jul-aug- 如果某个特定尾随字符在那里(在本
-
(破折号)。这是我的密码:
<?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-
save-45-wed-beach-co-ed-6s-jul-aug-
如果某个特定尾随字符在那里(在本例中为破折号),如何删除该字符
提前感谢。使用:
如果你坚持使用正则表达式,你可以这样做
preg_replace('/-$/', '', $str)
$
字符与主题结尾匹配。您的正则表达式为false,因为它用破折号删除所有非字母数字字符
那应该是
echo ereg_replace('-$','',strtolower($str));
$表示“字符串结束”,第二个参数是替换项。
(至少我认为是这样,我不知道php ereg_replace函数)另一种解决方案
<?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));
?>
你可能想检查一下:可能是
<?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