";print_r($tem);output a:2:{s:4:"type";a:3:{i:0; を置き換えます。 s:8:"個人請求書";i:1;s:8:"企業請求書";i:"/> ";print_r($tem);output a:2:{s:4:"type";a:3:{i:0; を置き換えます。 s:8:"個人請求書";i:1;s:8:"企業請求書";i:">
ホームページ >バックエンド開発 >PHPチュートリアル >preg_replace_callback は preg_replace を回転させます
preg_replace_callback は preg_replace
$tem = $arr['invoice_type'];
echo "5507ffa5f856606e7b58d8f04c82df4b a:2:{' s:'.strlen('type').':"type";'a:3:{i:0;'s:'.strlen('個人請求書').':"個人請求書";'i: 1;'s:'.strlen('Enterprise Invoice').':"Enterprise Invoice";'i:2;'s:'.strlen('').':"";'}'s:'。 strlen('レート').':"レート";'a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}
)
$teemm []= preg_replace_callback('!s:(d ):"(.*?)";!s', function ($matches) {return strlen('$2').':"$2 ";';}, $arr['invoice_type'] );
echo "e03b848252eb9375d56be284e690e873";
print_r($teemm);
output
Array
(
[0] => a:2:{2:"$2";a:3:{i:0;2:"$2";i:1;2:"$2";i:2;2:"$2 ";}2:"$2";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}
)
preg_replace_callback に preg_replace と同じ情報を出力させる方法
-----解決策---------
$s = preg_replace_callback('/s:\d+:"(.+?)";/s',<br /> function($r) {<br /> $n = strlen($r[1]);<br /> return "s:$n:\"$r[1]\";";<br /> }, $s);<br />