原始字符串
由 3 部分组成:
1- 单词(中文)
2- [img]pic url[/img]
3- [url]url[/url]
4-
所以结果如下所示
: [url]http://def[/url]alwaystext[img]http://fgcom/a.gif[/img][img]http://denet/a.png[/img]
我想要
的还是做的3部分,但有一点变化:
1- 单词
2- <img src="pic url" width="300">
3- <a href="url">url</a>
我现在做什么
//content is the source string
string[] contentArray = Regex.Split(content, @"\[img\](.+?)\[/img\]", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
StringBuilder sb= new StringBuilder();
foreach (string item in contentArray)
{
//if it is a pic url
if (item.StartsWith("http://", StringComparison.OrdinalIgnoreCase) &
(item.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) ||
item.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
item.EndsWith(".png", StringComparison.OrdinalIgnoreCase)))
{
//convert it into a < img> link
//append to sb
}
else
{
string[] contentArray1 = Regex.Split(item, @"\[url\](.+?)\[/url\]", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (string tmpItem in ContentArray)
{
if (it is a URL)
{
//convert it into a < a> link
//append to sb
}
else //must be normal text
{
//to make a better layout
//put into a < p>
//append to sb
}
}
}
}
问题
上面的代码是有效的,但是,有更好的解决方案吗?使其更有效我的意思是“更好的解决方案”在这里意味着更快的速度@_@