我需要找到圍繞字符串的一個或多個句子。這將從第一個大寫字母或中斷線到終點或中斷線。從第一個大寫字母到查詢字符串的句尾匹配的正則表達式
我這是什麼,但當然是不工作:
$search_string='example';
$regex = '\[A-Z]{1}[a-z]*\s*'.$search_string.'\s*[a-zA-Z]*\i';
preg_match_all($regex, $content, $matches);
如果這個詞在超過上一句,我將需要獲取兩個句子重複。我不確定是否即時解釋;請評論,我會嘗試再次解釋。
編輯
我有一個WordPress的網站,很多職位和PDF格式,文檔等這些門柱內側的。我使用稱爲swish-e的搜索引擎來索引所有內容並顯示結果。 當有人搜索任何字符串時,我想顯示該字符串的摘要而不是完整的帖子/或pdf。
因此,如果用戶搜索「示例」字符串,我需要顯示所有句子或至少其中幾個單詞的例子出現。 這就是爲什麼我要求在開始時使用大寫字母並在結尾處要求結束點。我知道這不會是完美的,但至少我需要支付某些情況下(大寫字母/分斷線等)
希望它更加清晰,再次感謝很多
沒有真正清楚自己想要什麼 - 但是,你可以使用使用分組(http://www.regular-expressions.info/brackets.html) – mozillanerd
礦和當正文中存在專有名詞時,所有其他答案都會失敗。請告知這是否會成爲問題。 –
我的不會。 ;-) – MrTrick