Rename to escapeHTML, use a dictionary instead
This commit is contained in:
@ -1,14 +1,19 @@
|
||||
### escapeString
|
||||
### escapeHTML
|
||||
|
||||
Escapes a string for use in HTML.
|
||||
|
||||
Use a chain of `String.replace()` calls combined with regular expressions to replace special characters with the proper symbols.
|
||||
Use `String.replace()` with a regex that matches the characters that need to be escaped, using a callback function to replace each character instance with its associated escaped character using a dictionary (object).
|
||||
|
||||
```js
|
||||
const escapeString = str =>
|
||||
str.replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');
|
||||
const escapeHTML = str => str.replace(/[&<>'"]/g, tag => ({
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'\'': ''',
|
||||
'"': '"'
|
||||
})[tag] || tag);
|
||||
```
|
||||
|
||||
```js
|
||||
escapeString('<a href="#">Me & you</a>'); // '<a href="#">Me & you</a>'
|
||||
escapeHTML('<a href="#">Me & you</a>'); // '<a href="#">Me & you</a>'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user