Thành viên:AlphamaBot/Cụm từ trong ref

Bách khoa toàn thư mở Wikipedia

Sửa huấn luyện viên[sửa | sửa mã nguồn]

public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
        {
            Skip = false;
            Summary = "General fixes";
            string originVersion = ArticleText;
 
            // Choose main & category namespaces only
            if (wikiNamespace != 0 && wikiNamespace != 14)
            {
                Skip = true;
                return ArticleText;
            }
			
            string Check = ArticleText;
            string result = String.Empty;

            while (true)
            {
                Match m = Regex.Match(Check, @"<ref");
                Match m2 = Regex.Match(Check, @"/>");
                Match m1 = Regex.Match(Check, @"</ref>");

                int tempm2 = m2.Index;

                if (m.Success && m1.Success)
                {

                    if (m2.Index == 0)tempm2 = m1.Index + 1;

                    

                    if (m1.Index > m.Index && tempm2 > m1.Index)
                    {
                        string s = Check.Substring(m.Index, m1.Index + m1.Length - m.Index);
                        string temp = s;
                        s = s.Replace("huấn luyện viên", "hlv");
                        Check = Check.Replace(temp, s);

                        if (temp != s)
                        {

                            m = Regex.Match(Check, @"<ref");
                            m1 = Regex.Match(Check, @"</ref>");

                            result += Check.Substring(0, m1.Index + m1.Length);
                            Check = Check.Substring(m1.Index + m1.Length, Check.Length - m1.Index - m1.Length);
                        }
                        else
                        {
                            result += Check.Substring(0, m1.Index + m1.Length);
                            Check = Check.Substring(m1.Index + m1.Length, Check.Length - m1.Index - m1.Length);
                        }
                    }
                    else
                    {
                        result += Check.Substring(0, m2.Index + m2.Length);
                        Check = Check.Substring(m2.Index + m2.Length, Check.Length - m2.Index - m2.Length);
                    }
                }
                else
                {
                    result += Check;
                    break;
                }
            }

			ArticleText = result;
            if (originVersion == ArticleText) Skip = true;
			
            return ArticleText;
        }