安卓端/course_mgmt_app/src/net/common/android/common/BBCodeHelper.java

(开头部分) 7KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package net.common.android.common;

import java.text.MessageFormat;
import java.util.LinkedHashSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class BBCodeHelper {

		private static Pattern pattern_ncsmiley = Pattern.compile("\\[ncsmiley\\]([^\\[\\]]*)\\[/ncsmiley\\]", Pattern.MULTILINE);
		//private static Pattern pattern_image2 = Pattern.compile("\\[img=\\d{4},\\d{3}\\]([^\\[\\]]*)\\[/img\\]", Pattern.MULTILINE);
		//private static Pattern pattern_image = Pattern.compile("\\[img\\]([^\\[\\]]*)\\[/img\\]", Pattern.MULTILINE);
		private static Pattern pattern_pic = Pattern.compile("\\[img\\]([^\\[\\]]*)\\[/img\\]",  Pattern.MULTILINE);
		private static Pattern pattern_link = Pattern.compile("\\[url=([^\\[\\]]*)\\]([^\\[\\]]*)\\[/url\\]",  Pattern.MULTILINE);
		private static Pattern bbcode = Pattern.compile("\\[[^\\[\\]]*\\]");
		private static Pattern pattern_attach = Pattern.compile("\\[attach\\]([^\\[\\]]*)\\[/attach\\]",  Pattern.MULTILINE);
		
		private static Pattern pattern_href= Pattern.compile("^http://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?$");
		
		private static String img_html = "<img src=''{0}''/>";
		private static String link_html = "<a href=''{0}''>{1}</a>";
		
		/**
		 * 提取img并去掉标签
		 * @param src
		 * @param al
		 * @return
		 */
		public static String processImage(String src, LinkedHashSet<String> al){
			String result = null;
			Matcher matcher = pattern_pic.matcher(src);
			while(matcher.find()){
				String url = matcher.group(1);
				if(pattern_href.matcher(url).matches()){
					al.add(url);
				}
			}
			result = matcher.replaceAll("");
			
			return result;
		}
		
		/**
		 * 把URL转成超链接
		 * @param src
		 * @return
		 */
		public static String processURL(String src){
			for(Matcher matcher = pattern_link.matcher(src);
					matcher.find(); matcher = pattern_link.matcher(src)){
				
				String url = matcher.group(1);
				String content = matcher.group(2);
				String dest = MessageFormat.format(link_html, url, content);
				
				src = matcher.replaceFirst(dest);
			}
			return src;
		}
		
后面还有 199 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。