听起来很简单,但我今天感觉很愚蠢。
如果我有这样的数组:
$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 值,因为可能需要超过 1 次相同的输出。例如,如果{POST_TITLE}
定义了两次,它应该在字符串中使用它的位置输出两次值。
谢谢