Html-react-parser: рддреНрд░реБрдЯрд┐: img рдПрдХ рд╢реВрдиреНрдп рддрддреНрд╡ рдЯреИрдЧ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рди рддреЛ `рдмрдЪреНрдЪреЗ` рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рди рд╣реА `рдЦрддрд░рдирд╛рдХ рд░реВрдк рд╕реЗ SetInnerHTML` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЕрдЧре░ 2016  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: remarkablemark/html-react-parser

рдирдорд╕реНрддреЗ!

рдорд╣рд╛рди рдкреНрд▓рдЧрдЗрди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА img -element рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред рдпрд╣ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрднреА рднреА рдмрд╛рд▓ рддрддреНрд╡ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИ:

const parserConfig = {
    replace: domNode => {
        if(domNode.type === DOM_TYPE_TAG && domNode.name === 'img') {
            return <img src={domNode.attribs.src} alt={domNode.attribs.alt} className={domNode.attribs.class} />;
        }
    }
};

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдПрдХ рдЖрдИрдПрдордЬреА рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ ...

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХреВрдВ?

рдирдорд╕реНрддреЗ!
рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ReactDOM.render(Parser('<div><img src="" alt=""/></div>'), document.getElementById('root'));

рдХрдорд╛рд▓ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж!

@ poacher2k рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдмрдЧ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдФрд░ #16 рдореЗрдВ рдПрдХ рдлрд┐рдХреНрд╕ рдХрд┐рдпрд╛ рд╣реИред

npm update html-react-parser рдпрд╛ npm install [email protected] рдЖрдЬрд╝рдорд╛рдПрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛, рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЖрдкрдиреЗ рдЕрдиреНрдп рд╢реВрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЪреЗрдХ рдЬреЛрдбрд╝реЗ рд╣реИрдВ!

рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдФрд░ рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдореИрдВ

@remarkablemark рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ npm install

@vidit1 рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ latest рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ?

npm i html-react-parser<strong i="8">@latest</strong>

# or
npm i [email protected]

рдлрд┐рд░ рдРрд╕рд╛ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ:

npm ls html-react-parser

@remarkablemark рдореИрдВрдиреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг html-react-parser рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рддрддреНрд╡ рд╕рд╛рдордЧреНрд░реА-рдпреВрдЖрдИ рдШрдЯрдХ рдХреЗ рдЕрдВрджрд░ рд╣реИред
<Drawer> <div className="alert" role="alert"> <img src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" width="30" height="30" className="d-inline-block align-top" alt=""> Bootstrap </img> </div> </Drawer>

@blueskysmart : рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ img -tag рдХреЗ рдЕрдВрджрд░ "рдмреВрдЯрд╕реНрдЯреНрд░реИрдк" рдЯреЗрдХреНрд╕реНрдЯ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрд╣рддреА рд╣реИ, img рдПрдХ рд╢реВрдиреНрдп рддрддреНрд╡ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдХреЛрдИ рдмрдЪреНрдЪреЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред

рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ @remarkablemark рдХреА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред

@blueskysmart @ poacher2k рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдЯрд┐рдкреНрдкрдгреА рд╕рд╣реА рд╣реИред рдЖрдк рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдЗрд╕ рдкрд╣реЗрд▓реА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдБред рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рднреА рдЖрддреА рд╣реИ рдЬрдм рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:
<img src="img.jpg".>

рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдПрдХ div рдореЗрдВ рд▓рдкреЗрдЯреЗрдВ:

<div>
<img src="img.jpg".>
</div>

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдПрдХ рдЖрдИрдПрдордЬреА рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rscott78 picture rscott78  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shiglet picture shiglet  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lhtdesignde picture lhtdesignde  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

on2air picture on2air  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EoleO picture EoleO  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ