2014-01-17 38 views
-1

的部分,但我不認爲任何人都明白,如何使用的preg_replace躲我試圖解釋這個稱號

我有很多頭銜這些都是不同的,我想要做的,就是讓擺脫標題中的每個"Lyrics"單詞,以及在"-"之前出現的所有符號。

我設法與istr_replace

<?php echo str_ireplace('lyrics', '', get_the_title()); ?> 

我該怎麼辦第二部分做的歌詞部分,我能申請代碼,使會這樣呢?

什麼,我想要它做的

例子:

「隨機標題 - 更隨機標題歌詞」轉向「更加隨機標題」

應用的代碼,將刪除對"random title - "在我的網站的每一個標題,

我以前有人在這裏。這說明,如果IDK這將有助於

$string = preg_replace("/[^-]+-(.*) Lyrics/", "$1", $string); 

 

+0

just what [ - ] +(lyrics) –

+0

so so [ - ] +(lyrics)例如 拿掉「 - 」後面的每個單詞? – user2320262

+0

不,我用JavaScript正則表達式測試,它似乎只是抓住空間和 - 歌詞之前 –

回答

0

如果您試圖在一個正則表達式中完成所有操作,那可能要求太高。爲什麼不把它分解成兩個步驟:通過去掉了一切 - (及以下空格)

$string = preg_replace('/^[^-]*-\s*/, '', $string); 

,然後取下第一「的歌詞」(不區分大小寫),如果有的話

$string = preg_replace('/lyrics/i', '', $string); 

這可以變得更加複雜 - 如果沒有或多個連字符,如果沒有或多個「歌詞」會怎麼樣,關於連字符後和「歌詞」周圍的空格或標點符號,可以「歌詞」換句話說,「歌詞」等任意大小寫怎麼樣?您需要確保它在所有這些情況下按預期工作。

+0

每個標題是完全相同的格式,沒有額外的連字符, hello bob - bob hello lyrics – user2320262