我試圖用preg_replace從給定列表中包裝單詞和單詞序列。它幾乎可以工作,但也有一些用例,但我不知道它如何。如何包裝尚未包裝的單詞或單詞序列?
比如我這樣做:
// sort by descending length
usort($this->_keywords, function($a,$b){return(strlen($a)<strlen($b));});
// wrapper is -%string%-
foreach ($this->_keywords as $keyword) {
$value = preg_replace('/((?!-)' . $keyword . '(?!-))/i', str_replace('%string%', '\1', $this->_wrapper), $value);
}
從這個關鍵字列表:
- LOREM
- 存有
- 坐阿梅德
- 空
- sed的
- SED enim
我想導致:
-Lorem--ipsum-悲-sit amet-, consectetur adipiscing ELIT。 Phasellus rhoncus venenatis orci sed porta。 Sed non dolor愛神。 Suspendisse a massa -sit amet- nulla egestas facilisis。 Cras fringilla,leo ac ullamcorper semper, urna eros pretium lectus,nec rhoncus ligula risus eu velit。 Nulla eu dapibus magna。 Sed vehicula tristique lacinia。 Maecenas tincidunt metus urna consequat nec congue libero iaculis。 Nulla facilisi。 Phasellus -sed- sem ut risus mattis accumsan eu -sed enim-。 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas。關於這個問題, Vivamus lacinia euismod pretium。
任何想法?
你有什麼具體問題? – Roadie57 2010-10-13 13:36:13