3v4l.org

run code in 300+ PHP versions simultaneously
<?php $re = '~(?:<p>(?=[^<>]*</p>)|\G(?!^))[^\d<>]*\d+\K\h~'; $str = '<p>My 90 days 123 work.</p>'; echo preg_replace($re, "&nbsp", $str);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
<p>My 90&nbspdays 123&nbspwork.</p>

preferences:
82.7 ms | 406 KiB | 5 Q