2017-08-17 170 views
0

我有以下字符串PHP字符串插入串

$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:$1px"; 
$text = preg_replace($pattern, $replacement, $original); 
print $text; 

,但沒有運氣。只有最後一場比賽是改變

回答

0

根據文檔:

混合的preg_replace(混合$模式,混合$更換,混合$主題[摘要$限制= -1 [摘要& $計數] ])

替換:

要替換的字符串或數組的字符串。如果此 參數是字符串,並且模式參數是數組,則所有 模式將被該字符串替換。如果pattern和 替換參數都是數組,則每個模式將被 替換爲替換對象。如果 替換數組中的元素數少於模式數組中的元素,則任何額外的模式將由空字符串替換 。

這就說明問題在於你的正則表達式。

試試這個:

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

真棒,它的工作原理。 – abizayra

+0

請標記我的答案。提前感謝您的積分! – catbadger

+0

另外:爲了解釋\ w而不是\ d:\ w可以在目標字符串上多次運行併產生相同的結果。 – catbadger