如何删除文本的格式并将其转换为 URL?

如何删除文本的格式并将其转换为 URL?

我需要从文本中删除任何类型的格式才能获得多格式的 URL。
通过保留以下模型,我尝试了各种解决方案,但没有得到想要的结果。
有人知道如何找到解决方案吗?

\newcommand{\link}[1]{
    %
    % ?
    %
    \href{#1_WITHOUT_FORMATTING_AND_COMMANDS}{#1_WITH_FORMATTING}
}

\begin{document}
    \link{http://www.site.com/page.php?key1=\textcolor{red}{value1}\&\textit{key2=value2}/\textbf{page2}/page3}
\end{document}

谢谢。

答案1

在此处输入图片描述

\documentclass{article}

\usepackage{hyperref,color}


\newcommand{\link}[1]{%
    {%
    \def\textcolor##1##2{##2}%
    \def\textbf##1{##1}%
    \def\textit##1{##1}%
    \edef\&{\string&}%
    \xdef\tmp{\noexpand\href{#1}}}%
 \tmp{#1}%
}
\begin{document}
    \link{http://www.site.com/page.php?key1=\textcolor{red}{value1}\&\textit{key2=value2}/\textbf{page2}/page3}
\end{document}

相关内容