我有一个包含此结构的列表
S
如何捕获字符串中的数字并在跨度中包裹?所以结构会这样结束:
Boss: (test 23, of 2014)
Boss: (test 42, of 2015)
Boss: (test 70, of 2016)
答案 0 :(得分:2)
此功能可以在这里提供帮助
第一步: preg_replace('# ([0-9]{2}),#','<span class="test_$1">$1</span>',$input);
preg_replace('# ([0-9]{4})#','<span class="year_$1">$1</span>',$input);
答案 1 :(得分:1)
你可以逃脱这个单线:
$input = "Boss: (test 23, of 2014)";
$output = preg_replace(
'/Boss: \(test (\d+), of (\d{4,4})\)/',
'Boss: (test <span class="test_$1">$1</span>, of <span class="year_$2">$2<span>)',
$input);
您可能希望对空白区域进行此容错,即使用\s+
而不是硬编码空格来允许多个空格,制表符等。