我是新來的正則表達式,所以我需要你的幫助。 我需要的字符串替換8000 '"ts";s:4:"8000";s:2:"tr";s:3:"200"'
簡單的正則表達式替換
<?php
$txt = '"ts";s:4:"8000";s:2:"tr";s:3:"200"';
$pattern = '#\"ts\"\;[a-z]{1}\:[0-9]{1}\:\"([0-9]*)#';
$replacement = '7000';
$txt = preg_replace($pattern,$replacement,$txt);
print($txt);
?>
此代碼輸出7000";s:2:"tr";s:3:"200"
這不是我所需要的。 我在這裏做錯了什麼?謝謝!
爲什麼你就不能'反序列化()'數據並精確地操作數值? – mario
請注意,如果'$ replacement'被設置爲與長度爲4的字符串不同的東西,則反序列化將不再有效。 反序列化,更改反序列化的對象,再次序列化它可能比使用正則表達式替換它的一部分更安全。 – Roman
之前從未使用過此功能,先要RTM,謝謝! – Sibul