I actually copied most of this from an answer I posted some days ago here. Shame!
Using ulem (plus a tiny little bit of code to modify it ;)

\documentclass[a4paper,11pt]{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{xparse}
\usepackage{tikz}
\usepackage{tikzducks}
\usepackage{tikzmarmots}
\ExplSyntaxOn
\keys_define:nn { uline } {
,text .code:n = \cs_set:Nn \uline_text: { #1 }
,pre .dim_set:N = \l_uline_kern_pre
,pre .initial:n = 0.1em
,pos .dim_set:N = \l_uline_kern_pos
,pos .initial:n = 0.04em
,depth .dim_set:N = \l_uline_depth
,depth .initial:n = 0.08ex
}
\NewDocumentCommand{\SetULine}{ m }
{ \keys_set:nn { uline } { #1 } }
\cs_new:Npn \uline_text: { . }
\NewDocumentCommand\ULine
{ o }
{
\c_group_begin_token
\IfValueT { #1 }
{ \keys_set:nn { uline } { #1 } }
\use:c { UL@setULdepth }
\markoverwith
{
\group_begin:
\dim_add:Nn \ULdepth { \l_uline_depth }
\box_move_down:nn { \ULdepth }
{
\hbox:n {
\tex_kern:D \l_uline_kern_pre \scan_stop:
\uline_text:
\tex_kern:D \l_uline_kern_pos \scan_stop:
}
}
\group_end:
}
\ULon
}
\ExplSyntaxOff
\NewDocumentCommand\wave{}
{%
\ULine[%
text = {\tikz[scale=0.01,very thin]\draw [variable=\x,domain=0:360,xscale=0.02,smooth] plot (\x,{cos(\x)});},
pre = -0.11pt,
pos = -0.11pt,
depth = 0.05ex,
]%
}
\NewDocumentCommand\jagged{}
{%
\ULine[%
text = {\tikz[scale=0.03,very thin]\draw [variable=\x,domain=0:9,xscale=0.8,samples=10] plot (\x,{mod(\x,2)});},
pre = -0.9pt,
pos = -0.0pt,
depth = 0.05ex,
]%
}
\NewDocumentCommand\underdots{}
{%
\ULine[%
text = {\scalebox{0.25}{$\circ$}},
pre = 0.00pt,
pos = 0.00pt,
depth = 0.05ex,
]%
}
\begin{document}
\pagenumbering{gobble}
Normal text hello there more text.
Normal text \wave{hello there} more text.
Normal text \jagged{hello there} more text.
Normal text \underdots{hello there} more text.
Normal text \ULine[text={\tikz[scale=0.05]\duck;},pre=-0.05em]{hello there} more text.
Normal text \ULine[text={\tikz[scale=0.10]\marmot;},pre=-0.05em,depth=1ex]{hello there} more text.
\end{document}
\waveto be more shallow and to have a longer period. Thanks in advance! – Michael Klyachman Sep 22 '18 at 01:06\marmot. ;-) – Sep 22 '18 at 05:10