从正则表达式中获取数字并添加该数量的空格


Get number from regular expression and add that number of spaces

<p style="margin-left:5px"><em>6.1. pH changes</em></p>

我想获得5(可以是任何数字)5px并在<p><em>后添加该数量的空格标记。

我使用了以下内容,但无济于事。

$result = preg_replace('#<p style="margin-left:['s]?'.([0-9])[0-9]?in"><em>#','<p><em>[&nbsp;]{$1}',$string);

请在这方面提供帮助。 将不胜感激。

谢谢。

您可以尝试以下操作:

$result = preg_replace_callback('#<p's*style="margin-left:(?P<SpaceCount>[0-9]+)[^>]*><em>#', function($matches) { return '<p><em>' . str_repeat('&nbsp;', intval($matches['SpaceCount'])); }, '<p style="margin-left:5px"><em>6.1. pH changes</em></p>');