diff --git a/CnBlogAndroid/Source/DataHandler/HTMLSpecialCharsDecode.js b/CnBlogAndroid/Source/DataHandler/HTMLSpecialCharsDecode.js index de44520..d5cde19 100644 --- a/CnBlogAndroid/Source/DataHandler/HTMLSpecialCharsDecode.js +++ b/CnBlogAndroid/Source/DataHandler/HTMLSpecialCharsDecode.js @@ -5,7 +5,29 @@ function HTMLSpecialCharsDecode(str){ str = str.replace(/>/g, '>'); str = str.replace(/"/g, "''"); str = str.replace(/'/g, "'"); - return str; + //转义为Markdown格式 + str = str.replace(//g,"\n\n"); + str = str.replace(//g,"**"); + str = str.replace(/<\/b>/g,"**"); + // str = str.replace(//g,'![图片](https://img2018.cnblogs.com/blog/1193964/201905/1193964-20190511163528418-507766326.jpg)'); + //1. 获取所有标签的url + raw = str; + let $cleanImg = raw.split(/标签为![图片](url)形式 + $withoutImg = raw.split(//); + let $result = ""; + $result += $withoutImg[0]; + for(var $i=1; $i < $withoutImg.length; $i++){ + $plusImg = "![图片](" + $urls[$i-1] + ")" + $withoutImg[$i]; + $result += $plusImg; + } + return $result; + // return str; } module.exports = HTMLSpecialCharsDecode; \ No newline at end of file diff --git a/CnBlogAndroid/Source/screens/BlogComment.js b/CnBlogAndroid/Source/screens/BlogComment.js index e443eac..8f4ae91 100644 --- a/CnBlogAndroid/Source/screens/BlogComment.js +++ b/CnBlogAndroid/Source/screens/BlogComment.js @@ -9,6 +9,7 @@ import React, { Component} from 'react'; import { StyleSheet, View, + WebView, ToastAndroid, TouchableOpacity, Image, @@ -23,6 +24,9 @@ import { StackNavigator, TabNavigator, } from 'react-navigation'; + import Markdown from 'react-native-easy-markdown'; + import HTMLView from 'react-native-htmlview'; +//import Markdown from 'react-native-simple-markdown'; const CommentHandler = require('../DataHandler/BlogComment/CommentHandler'); const ItemHandler = require('../DataHandler/BlogComment/ItemHandler'); const getComments = require('../DataHandler/BlogComment/getComments'); @@ -78,11 +82,23 @@ export default class BlogComment extends Component{ _separator = () => { return ; } + /** + * 有哪些标签需要进行转义 + * => ** ** + * description => [description](url) + * [code=java]some code[/code] => ``` some code ``` + * => ![图片](url) + * 1. 根据替换成![图片](url) + *
引用 + * + */ _renderItem = (item)=>{ let item1 = item; item = ItemHandler(item); let {key,Bodys,Author,DateAdded,AuthorUrl,FaceUrl} = item; //FaceUrl = FaceUrlHandler(); + const htmlContent = `

♥ nice job!

`; return( this.props.navigation.navigate @@ -100,7 +116,29 @@ export default class BlogComment extends Component{ {Author} - {HTMLSpecialCharsDecode(Bodys)} + {/* {HTMLSpecialCharsDecode(Bodys)} */} + + { + HTMLSpecialCharsDecode(Bodys) + } + + {/* TODO 删掉下面的测试 */} + {/* + # --Markdown-- {'\n\n'} + [超链接](http://www.jianshu.com) {'\n\n'} + ![图片](https://upload.jianshu.io/users/upload_avatars/5847426/d79b9d30-0c75-43a6-8372-711deae3ce52.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240) + You can **emphasize** what you want, or just _suggest it_ 😏…{'\n'} + {HTMLSpecialCharsDecode(Bodys)} + */} + {/* */} + {/* */} {'评论于: '+DateAdded.split('T')[0]+' '+DateAdded.split('T')[1].substring(0,8)} @@ -204,4 +242,4 @@ const styles = StyleSheet.create({ borderRadius: 0, backgroundColor: '#1C86EE', } -}); \ No newline at end of file +});