我正試圖在字符串末尾刪除尾隨的-
(短劃線)。這裏是我的代碼:正則表達式 - 字符串末尾的修剪字符
<?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-
我怎麼能僅當它有刪除特定的尾隨字符,在這種情況下幾許?
在此先感謝。
我正試圖在字符串末尾刪除尾隨的-
(短劃線)。這裏是我的代碼:正則表達式 - 字符串末尾的修剪字符
<?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-
我怎麼能僅當它有刪除特定的尾隨字符,在這種情況下幾許?
在此先感謝。
你的正則表達式是錯誤的,因爲它用短劃線去除每個非字母數字字符。
這應該是
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));
?>
輸出。
save-45-wed-beach-co-ed-6s-jul-aug
你可能想檢查:[PHP的http://stackoverflow.com/questions/2103797/url-friendly-username-in-php/2103815#2103815 – 2010-05-29 17:24:48
可能重複刪除最後一個字符,如果它是一個週期](http://stackoverflow.com/questions/2053830/php-remove-last-character-if-its-a-period) – 2010-05-29 17:29:30