You can use environ:
\documentclass{article}
\usepackage{environ}
\makeatletter
\NewEnviron{myitemize}{%
\def\item##1\item{\dosomething{##1}}%
\expandafter@empty\BODY\item}
\newcommand{\dosomething}[1]{%
\def\werner@arg{#1}%
\ifx\werner@arg\werner@stop
\expandafter\env@ignore % to end the recursion
\else
``Here is #1\unskip''\par % what to do with #1
\expandafter\item % to continue the recursion
\fi}
\edef\werner@stop{\noexpand\env@ignore\space}
\makeatother
\begin{document}
\begin{myitemize}
\item First
\item Second
\item Last
\end{myitemize}
\end{document}
Note that \end{myitemize} should go on a line of its own (one could also take care of it appearing on the same line as the last item). The \unskip is necessary if \par is not next to #1 or isn't used at all, because of the end of line at the end of the item text.

A much more powerful implementation with expl3:
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentEnvironment{myitemize}{ O{} +b }
{
% do the setup
\keys_set:nn { werner/itemize } { #1 }
% split the contents at \item
\seq_set_split:Nnn \l_werner_itemize_input_seq { \item } { #2 }
% remove the first (empty) item
\seq_pop_left:NN \l_werner_itemize_input_seq \l_tmpa_tl
% issue the preamble
\tl_use:N \l_werner_itemize_pre_tl
% adorn the items
\seq_set_map:NNn
\l_werner_itemize_output_seq
\l_werner_itemize_input_seq
{ __werner_itemize_do:n { ##1 } }
% output the items, separated by the chosen separator
\seq_use:NV \l_werner_itemize_output_seq \l_werner_itemize_sep_tl
% issue the postamble
\tl_use:N \l_werner_itemize_post_tl
}
{}
\seq_new:N \l_werner_itemize_input_seq
\seq_new:N \l_werner_itemize_output_seq
\cs_generate_variant:Nn \seq_use:Nn { NV }
\keys_define:nn { werner/itemize }
{
pre .tl_set:N = \l_werner_itemize_pre_tl,
post .tl_set:N = \l_werner_itemize_post_tl,
sep .tl_set:N = \l_werner_itemize_sep_tl,
action .code:n = \cs_set_eq:NN __werner_itemize_do:n #1,
action .initial:n = \use:n,
}
\ExplSyntaxOff
\NewDocumentCommand{\quotepar}{m}{%
``#1''\par
}
\NewDocumentCommand{\normalitem}{m}{%
\item #1
}
\NewDocumentCommand{\bulletitem}{m}{%
\textbullet\ #1%
}
\begin{document}
\begin{myitemize}[action=\bulletitem,sep={, }]
\item First
\item Second
\item Last
\end{myitemize}
\begin{myitemize}[action=\quotepar]
\item First
\item Second
\item Last
\end{myitemize}
\begin{myitemize}[
action=\normalitem,
pre=\begin{itemize},
post=\end{itemize},
]
\item First
\item Second
\item Last
\end{myitemize}
\end{document}

\item– Werner Aug 06 '13 at 18:12enumitempackage, withitemize*. – Manuel Jan 21 '16 at 19:05\items to do something with them. – Werner Jan 21 '16 at 19:07itemize*can be configured, it'senumitem's power. But of course, if you grab them with a macro not bounded to a list you can do much more things. – Manuel Jan 21 '16 at 19:27\eoldefin OpTeX. For example\eoldef\macro#1{parameter: #1}defines\macrowith one parameter separated by end of current line. – wipet Jan 04 '21 at 17:52