2016-09-10 2 views
0
<% 
int amountOfTags = 0; 
string text = "hi @dude im @cool kay"; 
int number1 = 1; 
int number2 = 0; 
for (int a = 0; a < text.Length; a++) 
{ 
    if (text.Substring(a, 1) == "@") 
    { 
     amountOfTags++; 
    } 
} 
for (int i = 0; i < text.Length; i++) 
{ 
    if (text.Substring(i, 1) == "@") 
    { 
     number1 = i; 
    } 
    if (text.Substring(i, 1) == " " && number1 > number2) 
    { 
     number2 = i; 
    } 
    int number3 = number2 - number1; 
    if (number2 - number1 < 13 && number1 > 0 && number2 > 0 && number2 > number1 && number2 == i && amountOfTags != -1) 
    { 
     if (text.Substring(number1 + 1, number3) != ", ") 
     { 
      Response.Write(text.Substring(number1 + 1, number3 - 1)); 
      amountOfTags--; 
     } 
    } 
} 
%> 

좋아,이 코드는 ASP.NET에서 "hi @dude im @cool kay"와 같은 텍스트를 사용하고 @ 뒤에 텍스트를 반환하므로 코드가 나에게 '멋쟁이'와 '멋집니다'를 반환합니다. 지금 내 질문은, 링크를 만들고 대담하게 될 부분 문자열에서 나를 반환하는 텍스트를 만드는 방법은 무엇입니까? (특정 텍스트에 요소 추가).선택한 하위 문자열을 링크로 표시하고 굵게 만드는 방법은 무엇입니까?

ASP.NET 또는 JS로 가능합니까?

+0

링크의 href 속성 (및 다른 속성)은 무엇입니까? – 76484

+0

나는 페이지를 이미 가지고있는 값으로 이름으로 사용자 프로필에 링크 할 수 있도록 포럼을 만들고 있습니다. 지금은 # 할 일이 있습니다. –

답변

0

혼란스러운 부분 문자열 논리 대신에 Regular Expression을 사용합니다. 나는 단순함에 대한 <b> 태그를 포함했다,하지만 난 그들을 제거하고 링크를 굵게하기 위해 CSS를 사용하는 것이 좋습니다 :

<% string text = "hi @dude im @cool kay"; %> 
<%= Regex.Replace(text, @"@([\S]+)", @"<a href=""#""><b>$1</b></a>") %> 

참고 :이 이 원하는 앵커 래퍼를 포함 한 줄에 논리를 감소시킬 수있다.

+0

와우, 고마워요! 그 매력처럼 작동, 슬픈 거기에 내가 코딩에 모르는 많은 기능. –

관련 문제