export const parsePostTag = (content: string) => { const tags: string[] = []; const users: string[] = []; var tagExp = /(#|#)([^#@\s])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 var atExp = /@([a-zA-Z0-9])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 content = content .replace(/<[^>]*?>/gi, "") .replace(/(.*?)<\/[^>]*?>/gi, "") .replace(tagExp, (item) => { tags.push(item.substr(1).trim()); return ( '' + item.trim() + " " ); }) .replace(atExp, (item) => { users.push(item.substr(1).trim()); return ( '' + item.trim() + " " ); }); return { content, tags, users }; }; export const preparePost = (content: string, hint: string, maxSize: number) => { let isEllipsis = false; if (content.length > maxSize) { content = content.substring(0, maxSize); isEllipsis = true; let latestChar = content.charAt(maxSize - 1); if (latestChar == "#" || latestChar == "#" || latestChar == "@") { content = content.substring(0, maxSize - 1); } } const tagExp = /(#|#)([^#@\s])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 const atExp = /@([a-zA-Z0-9])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 content = content .replace(/<[^>]*?>/gi, "") .replace(/(.*?)<\/[^>]*?>/gi, "") .replace(tagExp, (item) => { return ( '' + item.trim() + " " ); }) .replace(atExp, (item) => { return ( '' + item.trim() + " " ); }); if (isEllipsis) { content = content.trimEnd() + " ..." + '' + hint + " "; } return content; };