php 将字符串插入字符串

php Insert string into string

我有以下字符串

$original = '</p><p>7. Soal nomer3</p><p><b>Bacalah</b><b> </b><b>teks</b><b> </b><b>berikut</b>.</p><p style="text-indent:122">&nbsp;</span>Karena ketakutan pada bencana yang akan menimpa, maka satu per satu ikan mulai diterbangkan oleh Bangau. Namun, Bangau tersebut tidak menerbangkan ikan-ikan tersebut ke tempat yang dijanjikan, tetapi justru membawa ikan-ikan tersebut ke sarangnya. Di sarangnya, Bangau memakan ikan-ikan tersebut dengan lahapnya. Demikian seterusnya, sampai ikan-ikan di danau tersebut habis.</p><p style="text-indent:122">&nbsp;</span>Kini, tinggallah seekor kepiting di danau itu yang belum dipindahkan. Kepiting itu kemudian dibawa terbang oleh Bangau. Namun, ketika Bangau itu menukik menuju sarangnya, Kepiting melihat banyak sekali darah dan duri-duri ikan di sana.</p><p style="text-indent:122">&nbsp;</span>Kepiting kemudian menyadari kalau ia juga akan dimakan oleh Bangau yang serakah itu. Ketika Bangau menukik turun, dengan cepat Kepiting menyerang leher Bangau dengan capitnya. Bangau kemudian menggelepar tidak berdaya.</p><p style="text-indent:117">&nbsp;</span>&ldquo;Lepaskan aku! Lepaskan!&rdquo; teriak Bangau dengan suara parau. Kepiting makin memperkeras jepitannya hingga akhirnya Bangau yang serakah itu pun mati.</p><p>(dikutip dari <i>pendongeng.com</i> dengan penyesuaian)</p><p>Kepiting makin memperkeras jepitannya hingga akhirnya Bangau yang serakah itu pun mati.</p><p>Pernyataan yang <b>tidak</b> sesuai dengan isi kalimat tersebut adalah . . .</p>'

我想将所有 text-indent:* 更改为 text-indent:*px

我这样做了:

$pattern = 'text-indent:(.*)["]';
$replacement = "text-indent:px";
$text = preg_replace($pattern, $replacement, $original);
print $text;

但运气不好。只有最后一场比赛是变化

根据文档:

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Replacement:

The string or an array with strings to replace. If this parameter is a string and the pattern parameter is an array, all patterns will be replaced by that string. If both pattern and replacement parameters are arrays, each pattern will be replaced by the replacement counterpart. If there are fewer elements in the replacement array than in the pattern array, any extra patterns will be replaced by an empty string.

这表示问题出在您的正则表达式上。

试试这个:

$pattern = '\"text-indent:(\w*)\"'