我寫了一個正則表達式,但它並不像我期望的那樣工作。看看請瞭解以下正則表達式
preg_match_all("/([\.\:]?)(.{0,65}?[^\s]*".preg_quote($word)."[^\s]*.{0,65})/siu",$content,$matched);
[^\s]*".preg_quote($word)."[^\s]
//
這部分匹配整個單詞,如果它包含的關鍵字,例如,如果我搜索WOR關鍵字匹配關鍵字。
.{0,65}?[^\s]*".preg_quote($word)."[^\s]*.{0,65}
在這裏,我起身到65個字符之前和關鍵字,即後。我會得到
多的話這裏關鍵字這裏換句話說
而現在,是什麼問題。我嘗試匹配從開始的句子,如果{65}個字符中有任何[。:]字符
如果我有sach結構 - word1 word2 。 {小於65字符這裏} {關鍵詞這裏的其他字符}
我的預期,如果我寫([\.\:]?)(.{0,65}?[^\s]*".preg_quote($word)."[^\s]*.{0,65})
它將匹配.{less then 65 character here} keyword {65 characters}
但事實並非如此。部分[\.\:]?
對正則表達式沒有任何影響。它匹配所有{65}個字符。
我需要從begining匹配句子,如果內65個字符的句子開始關鍵字之前
完美。謝啦:/ – Simon 2010-08-26 09:42:15