我需要从文本中删除任何类型的格式才能获得多格式的 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}