1

わかりました、これは奇妙になるでしょうが、私はそれが必要です

いくつかの特定の引用符の間にある巨大なコード行の文字数を取得しようとしています ". 基本的に、最初の3番目の引用符と最後の5番目の引用符の間のすべてを取得できる必要があります.

ここに例があります

a:2:{s:10:"categories";s:5758:"...........";s:5:"posts";s:6:"a:0:{}";}

すべての期間の文字数を知る必要があります。実際には、これらのピリオドの代わりにコードがあります。

ピリオドが 11 あるので、文字数は 11 になります。一貫しているのは引用符だけなので、それをベースにする必要があります。

どんな助けでも素晴らしいでしょう。

これが私のコードです。私は基本的にコードを作成し、いくつかのカスタム ラベルを追加しています。アンシリアライズする前にコードをシリアライズしようとしましたが、うまくいきませんでした。

<?
$thisisit .= 'a:2:{s:10:"categories";s:5481:"a:40:{';
include('connect.php');

$sql = "SELECT * FROM wp_terms ORDER BY term_id ASC LIMIT 40"; 
$result = mysql_query($sql);
$count = 0;
while($row = mysql_fetch_array($result)) {
    $name = $row['name'];
    $charactercount = strlen($name);
    $term_id = $row['term_id'];
    $thisisit .= 'i:'.$count.';a:2:{s:11:"filter_name";s:20:"add_keyword_category";s:11:"filter_args";a:7:{s:12:"filter_value";s:'.$charactercount.':"'.strtolower($name).'";s:19:"filter_search_title";s:1:"1";s:21:"filter_search_excerpt";i:0;s:21:"filter_search_content";s:1:"1";s:21:"faf_filter_categories";a:1:{i:4;s:3:"'.$term_id.'";}s:17:"filter_match_word";i:0;s:17:"filter_match_case";i:0;}}';
    //echo "<br><br>";
    $count++;
}
$thisisit .= '}";s:5:"posts";s:6:"a:0:{}";}';

$array = unserialize($thisisit);
echo strlen($array['categories']);
?>
4

1 に答える 1