anchor.diff:      implode,
       {implode, <<"join">>},
       explode,
  -    {explode, <<"split">>}
  +    {explode, <<"split">>},
  +    str_replace
   ]. 
   
   -spec strlen(context(), line(), String :: var_value()) -> integer().
  
positive.code:     implode/3,
      implode/4,
      explode/4,
      explode/5
  ]).
  
  -include("ephp.hrl").
  
negative.code: explode(_Context, _Line, {_,Delimiter}, {_,String}, {_,Limit}) ->
      split_limit(Delimiter, String, ?DICT:new(), Limit-1, 0).
  
  -spec str_replace(context(), line(),
      Search :: var_value(), Replace :: var_value(),
      Subject :: var_value()) -> binary().
  
  str_replace(_Context, _Line, {_, Search}, {_, Replace}, {_, Subject}) ->
      binary:replace(Subject, Search, Replace, [global]).
  
  %% ----------------------------------------------------------------------------
  %% Internal functions
  