如何通过 preg_replace 将字符串附加到动态数值?

How can I append a string to a dynamic number value via preg_replace?

我在另一个字符串中有一个字符串,我需要向其附加一些内容。

字符串的结构是这样的:

$output = "Family: peppers, dimensions: 150 cm, origin: South America, Pot diameter: 14, height with pot: 80";

在该字符串中,我需要找到 Pot diameter 并将字符串 cm 附加到其数值。所以它看起来像

Pot diameter: 14 cm.

在站点中显示如下:

Family: peppers.
Dimensions: 150cm
Origin: South America
Pot diameter: 14
Height with pot: 80

我一直在尝试通过

使用preg_replace()
$output = preg_replace("/Pot diameter: [0-9]+/", '[=14=] cm.', $output)

但它根本不起作用。我无法弄清楚如何在给定的字符串中找到一个数字 - 一个确切的数字将不起作用,因为它是动态使用的。此字符串中只有字母是静态的。

我发现源代码显示:

<div><br/>
<b>Średnica doniczki: </b>
14<br/>
</div>

更改为:

$output = preg_replace("/<b>Średnica doniczki: </b> <br/>[0-9]+/", '[=16=] cm.', $output);

也不行。

我现在有解决方案

$output = preg_replace("/<b>Średnica doniczki: <\/b>(.*?)<\/div>/", 'Średnica doniczki:  cm.</div>', $output);

我刚刚选择了下一个结束标记,找到给定字符串和结束标记之间的任何内容,然后只需注入具有第一个取值的相同字符串,它就按我想要的方式工作。

我通过

解决了我的问题
$output = preg_replace("/<b>Średnica doniczki: <\/b>(.*?)<\/div>/", 'Średnica doniczki:  cm.</div>', $output);

为此,我刚刚选择了下一个结束标记,
在下一步中,我找到给定字符串和结束标记之间的任何内容,
接下来,我只注入与第一个取值和结束标记
给出的相同的字符串 现在它如我所愿。