you can use https://www.npmjs.com/package/react-native-parsed-text
import ParsedText from 'react-native-parsed-text';_x000D_
_x000D_
class Example extends React.Component {_x000D_
static displayName = 'Example';_x000D_
_x000D_
handleUrlPress(url) {_x000D_
LinkingIOS.openURL(url);_x000D_
}_x000D_
_x000D_
handlePhonePress(phone) {_x000D_
AlertIOS.alert(`${phone} has been pressed!`);_x000D_
}_x000D_
_x000D_
handleNamePress(name) {_x000D_
AlertIOS.alert(`Hello ${name}`);_x000D_
}_x000D_
_x000D_
handleEmailPress(email) {_x000D_
AlertIOS.alert(`send email to ${email}`);_x000D_
}_x000D_
_x000D_
renderText(matchingString, matches) {_x000D_
// matches => ["[@michel:5455345]", "@michel", "5455345"]_x000D_
let pattern = /\[(@[^:]+):([^\]]+)\]/i;_x000D_
let match = matchingString.match(pattern);_x000D_
return `^^${match[1]}^^`;_x000D_
}_x000D_
_x000D_
render() {_x000D_
return (_x000D_
<View style={styles.container}>_x000D_
<ParsedText_x000D_
style={styles.text}_x000D_
parse={_x000D_
[_x000D_
{type: 'url', style: styles.url, onPress: this.handleUrlPress},_x000D_
{type: 'phone', style: styles.phone, onPress: this.handlePhonePress},_x000D_
{type: 'email', style: styles.email, onPress: this.handleEmailPress},_x000D_
{pattern: /Bob|David/, style: styles.name, onPress: this.handleNamePress},_x000D_
{pattern: /\[(@[^:]+):([^\]]+)\]/i, style: styles.username, onPress: this.handleNamePress, renderText: this.renderText},_x000D_
{pattern: /42/, style: styles.magicNumber},_x000D_
{pattern: /#(\w+)/, style: styles.hashTag},_x000D_
]_x000D_
}_x000D_
childrenProps={{allowFontScaling: false}}_x000D_
>_x000D_
Hello this is an example of the ParsedText, links like http://www.google.com or http://www.facebook.com are clickable and phone number 444-555-6666 can call too._x000D_
But you can also do more with this package, for example Bob will change style and David too. [email protected]_x000D_
And the magic number is 42!_x000D_
#react #react-native_x000D_
</ParsedText>_x000D_
</View>_x000D_
);_x000D_
}_x000D_
}_x000D_
_x000D_
const styles = StyleSheet.create({_x000D_
container: {_x000D_
flex: 1,_x000D_
justifyContent: 'center',_x000D_
alignItems: 'center',_x000D_
backgroundColor: '#F5FCFF',_x000D_
},_x000D_
_x000D_
url: {_x000D_
color: 'red',_x000D_
textDecorationLine: 'underline',_x000D_
},_x000D_
_x000D_
email: {_x000D_
textDecorationLine: 'underline',_x000D_
},_x000D_
_x000D_
text: {_x000D_
color: 'black',_x000D_
fontSize: 15,_x000D_
},_x000D_
_x000D_
phone: {_x000D_
color: 'blue',_x000D_
textDecorationLine: 'underline',_x000D_
},_x000D_
_x000D_
name: {_x000D_
color: 'red',_x000D_
},_x000D_
_x000D_
username: {_x000D_
color: 'green',_x000D_
fontWeight: 'bold'_x000D_
},_x000D_
_x000D_
magicNumber: {_x000D_
fontSize: 42,_x000D_
color: 'pink',_x000D_
},_x000D_
_x000D_
hashTag: {_x000D_
fontStyle: 'italic',_x000D_
},_x000D_
_x000D_
});
_x000D_