Hello prav,
a short comment on Sandro's solution #2. If you use a CMS_INPUT_DOM input component for the link text, it cannot be displayed in the surrounding input component (e.g. CMS_INPUT_LINK or CMS_INPUT_DOM). To define this display text, an input component must be selected on the properties tab. CMS_INPUT_DOM is not supported here.
In this case, you should either write a value service that transfers the content of the DOM to a CMS_INPUT_TEXT input component or offer a corresponding input component that the editor uses for the display. Of course, this is only relevant if the display of the link text is required in the external input component.
Best regards
Holger