Write a Python function that takes user input as a string, as well as a mapping of variable names to values (both strings) passed as a dict. The function should search the user input string for each variable name specified, and replace them with the variable value. Variables in the input string must be within angle brackets (< and >), and can be no longer than 30 characters. When found, the function should replace the variable name as well as the angle brackets with the variable value. Text that matches a variable name but is not in angle brackets should not be touched. Variables longer than 30 characters in length should not be touched. Function should return the modified string after the variable replacements.