私は正規表現を初めて使うので、助けが必要です。 私は'"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"
を8000を交換する必要があります。 ここで何が間違っていますか?ありがとう!
なぜあなただけの 'アンシリアライズできません() 'を呼び出し、値を正確に操作しますか? – mario
'$ replacement'が長さ4の文字列とは異なるものに設定されている場合、これをシリアル化しないと機能しなくなることに注意してください。 シリアル化されていないオブジェクトを変更してシリアル化すると、正規表現を使用してその一部を置き換えるよりも安全です。 – Roman
これまでにこの機能を使用したことはありませんでした。まずRTMに感謝してください! – Sibul