C\#자동 으로 글 키워드 에 링크 구현 코드 추가

2578 단어 키워드 링크C#
주로 글 의 키워드 라벨 에 링크 를 붙 이 고 인터넷 에 도 해결 방법 이 많아 서 나중에 사용 할 수 있 도록 스스로 정리 하 는 것 이다.
효 과 는 그림 과 같다
다음은 코드:

/// <summary>
        ///
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        public string ReplaceTextTag(string content)
        {
            A  a = new A();
            string result = "";
            if (!string.IsNullOrEmpty(content))
            {
                //
                List<Tag> listAll = a .GetTag();
                string str1 = content;
                result = keyAddUrl(str1, listAll);
            }
            return result;
        }
        /// <summary>
        /// title,
        /// </summary>
        /// <param name="src"></param>
        /// <param name="keys"></param>
        /// <returns></returns>
        private string keyAddUrl(string src, List<TopicTag> keys)
        {
            Regex reg = new Regex(@"(?i)(?:^|(?<!<a\b(?>[^<>]*))>)(?>[^<>]*)(?:<|$)");
            int length = 0;
            string temp = string.Empty;
            return reg.Replace(src, delegate(Match m)
            {
                temp = m.Value;
                length = temp.Length;
                for (int i = keys.Count - 1; i >= 0; i--)
                {
                    temp = Regex.Replace(temp, @"(?is)^((?:(?:(?!" + Regex.Escape(keys[i].Label) + @"|</?a\b).)*<a\b(?:(?!</?a\b).)*</a>)*(?:(?!" + Regex.Escape(keys[i].Label) + @"|</?a\b).)*)(?<tag>" + Regex.Escape(keys[i].Label) + @")",
                        @"$1<a href=""http://cn.greatexportimport.com/topic-" + keys[i].Id + @""" target=""_blank"" title=""${tag}"">${tag}</a>");
                    if (length != temp.Length)
                    {
                        keys.Remove(keys[i]);
                    }
                    length = temp.Length;
                }
                return temp;
            });
        }
페이지 에서 이 방법 을 호출 하면 됩 니 다:

<%=Tag.ReplaceTextTag(Tag.Contents)%>


좋은 웹페이지 즐겨찾기