我需要按照/
,:
或whitespace的順序拆分(但不是preg_split()
)我的標題。例如,如果我拆分/
,那麼我不想打擾尋找:
或空格。我可以在這裏使用preg_replace()嗎?還是我需要使用preg_split()?
我以爲我可以用正則表達式做(輸入字符串,這裏將永遠具有HTML),則它
$delimiters = array('/', ':', '\s');
$title = preg_replace('@(' . implode('|', $delimiters) . ')(.*)[email protected]', '$1 <span>$2</span>', $title, 1);
正則表達式我會匹配第一個空間,而不是與別人打擾。這不是我想要的。
很顯然,我可以strpos()
爲其他字符(:
和/
),從分隔符刪除\s
若發現其他人。這將解決第一個問題。
我也想選擇最遠的右匹配,即如果在空格上分割一個句子,我想要匹配最後一個單詞。
我需要在這裏使用preg_split()
,並保存分隔符,或者我可以用一個正則表達式嗎?
謝謝
您能否提供一些示例輸入和輸出?我不認爲我完全明白你的問題。 – NullUserException 2010-09-24 02:55:07
@NullUserException我加了我自己的答案(希望能夠回答上面的問題),但是如果你能找到更好的解決方案,可以隨意發佈。謝謝! – alex 2010-09-24 02:56:58