如何使用这样的字符串:*Up to* $1,000
并将其转换为:<span>Up to</span> $1,000
星星可以在弦乐的任何地方,也可以有多组星星。但是每一组都应该替换为span。
e.g。
text *test* here
= text <span>test</span> here
text here *test* right *now*
= text here <span>test</span> right <span>now</span>
我需要能够将值传递给函数并接收格式化的字符串作为回报。提前谢谢。
答案 0 :(得分:1)
简单的正则表达式可以做到这一点:
function replace_star($str) {
return preg_replace('~\*([^*]*)\*~ms', '<span>\1</span>', $str);
}
echo replace_star('*Up to* $1,000') . "\n";
echo replace_star('text here *test* right *now*');
输出:
<span>Up to</span> $1,000
text here <span>test</span> right <span>now</span>