単純なことのように聞こえるが、今日はかなり愚かな気分だ。
次のような配列がある場合:
$defined_vars = array(
'{POST_TITLE}' => $item['post']['name'],
'{POST_LINK}' => $item['post']['link'],
'{TOPIC_TITLE}' => $item['topic']['name'],
'{TOPIC_LINK}' => $item['topic']['link'],
'{MEMBERNAME}' => $txt['by'] . ' <strong>' . $item['membername'] . '</strong>',
'{POST_TIME}' => $item['time'],
'{VIEWS}' => $txt['attach_viewed'] . ' ' . $item['file']['downloads'] . ' ' . $txt['attach_times'],
'{FILENAME}' => $item['file']['name'],
'{FILENAME_LINK}' => '<a href="' . $item['file']['href'] . '">' . $item['file']['name'] . '</a>',
'{FILESIZE}' => $item['file']['size'],
'{DIMENSIONS}' => $item['file']['image']['width'] 'x' $item['file']['image']['height'],
);
そして、次のような文字列:
$string = '<div class="largetext centertext">{POST_LINK}</div><div class="smalltext centertext">{MEMBERNAME}</div><div class="floatright smalltext dp_paddingright">{POST_TIME}</div><div class="dp_paddingleft smalltext">{VIEWS}</div>';
それらのキーの値に置き換える必要があります。それは可能ですか?もしかしてstr_replace()
なんか使ってる?配列キーに中かっこを含めることはできますか? それは何か問題を引き起こしますか?また、これらが見つかったすべての回の $string 値を置き換えるためにこれが必要です。これは、同じ出力が複数回必要になる可能性があるためです。たとえば、{POST_TITLE}
が 2 回定義されている場合、文字列内で使用された場所に正確に値を 2 回出力する必要があります。
ありがとう