对于ASP代码部分,我们可以这样处理:通过split函数以chr(13)为分隔符将字符串分割成数组。考虑到换行时可能会遇到两个连续的chr(13),所以数组的最后一个元素会是实际数据的长度减一。接着,对数组中的每个元素进行二次分割,以“|”为分隔符。这样我们就可以得到每个元素的标题和链接。只有当标题和链接都存在时,我们才将其添加到最终的HTML列表中。下面是具体的ASP代码示例:
```asp
dedearr = split(xiangguanid2, chr(13)) '以chr(13)分割字符串成数组
for dede = 0 to ubound(dedearr)-1 '遍历数组,注意数组长度减一
dedearr2 = split(dedearr(dede), "|") '二次分割,获取标题和链接
dedetitle = dedearr2(1)
dedeurl = dedearr2(0)
if dedetitle <> "" and dedeurl <> "" then '只有当标题和链接都存在时
xiangguanart2 = xiangguanart2 & "
" & dedetitle & ""
end if
next
```
对于PHP的处理代码(参考Dedecms),我们可以先通过替换字符串中的回车和换行符为标准的HTML换行符,然后将处理过的字符串按换行符分割成数组。接着遍历数组中的每个元素,进行二次分割获取链接和服务器名称。然后处理链接并替换到模板字符串中。下面是具体的PHP代码示例:
```php
$cfg_softinfos['sites'] = str_replace("\r","",$cfg_softinfos['sites']); //处理回车和换行符
$sites = explode("", trim($cfg_softinfos['sites'])); //按换行符分割字符串成数组
foreach($sites as $site) {
if(trim($site)=='') continue; //忽略空字符串
list($link,$serverName) = explode('|',$site); //获取链接和服务器名称
//处理链接并添加到模板字符串中...
}
```
调用cambrian.render('body')来渲染页面主体部分。这样我们就完成了从数据获取到页面渲染的整个过程。希望这些代码能够帮助你更好地理解后台处理textarea中数据的流程。