Хорошо, это часть моего проекта с результатами поиска, в нем есть описание, возвращаемое из нескольких таблиц.Вся эта часть работает на 100%.
В настоящее время я использую функцию trim_text, которой я передаю строку и сколько слов я хочу сохранить.
Однако теперь мне нужно изменить его, чтобы убедиться, что ключевое слово / поисковый термин содержится в возвращаемом описании, чтобы помочь показать его действительность в результатах поиска.
Ниже приведен существующийФункция trim_text, которую мне нужна ваша помощь для изменения.
<cffunction name="trim_text" output="false" access="remote" returntype="string">
<cfargument name="string" type="string" required="true">
<cfargument name="word_limit" type="integer" required="false">
<cfparam name="word_limit" default=20>
<cfparam name="snippet" default="">
<cfparam name="return_string" default="">
<cfset return_string = "">
<cfset return_string = reReplace( string, "</?\w+(\s*[\w:]+\s*=\s*(""[^""]*""|'[^']*'))*\s*/?>", " ", "all" ) />
<cfset return_string = reReplace( trim( return_string ), "\s+", " ", "all" ) />
<cfset snippet = reMatch( "([^\s]+\s?){1,#word_limit#}", return_string ) />
<cfif !arrayLen( snippet )>
<cfreturn "" />
</cfif>
<cfset charCount = listlen(snippet[1]) />
<cfset wordCount = ( (word_limit * (arrayLen( snippet ) - 1)) + listLen( snippet[ arrayLen( snippet ) ], " " ) ) />
<cfif charCount gt 190>
<cfreturn left(snippet[1],190) & "..." />
</cfif>
<cfset return_string = snippet[1] & "..." />
<cfreturn return_string />
</cffunction>
Итак, моей конечной целью является описание, содержащее ключевое слово.
Так, например.
Давайтескажем, я ищу ключевое слово 'business'
И я получаю правильный результат поиска, однако в описании нет этого слова в показанном описании, поскольку мы ограничиваем описание 25 словами черезфункция trim_text.Это делает все описания похожими по размеру.Но не помогает доказать достоверность результатов, где ключевое слово находится ниже в описании.
Есть вопросы?Надеюсь, я сделал это очень ясно.
Я использую Coldfusion 8 Standard.Я тестирую это на своем сервере разработки.
Спасибо ...