如何从php中的项目列表中获取一个参数

时间:2010-06-07 03:28:55

标签: php mysql

我在数据库表中有一个字段,其中包含以下行

show_email_icon=
show_hits=
feed_summary=
page_title=
show_page_title=1
pageclass_sfx=
menu_image=hd_events.png
secure=0

所有内容都以文本形式存储在mysql表的一个字段中。现在我想获得menu_image。我怎么能得到它?

3 个答案:

答案 0 :(得分:1)

如果您运行的是PHP5.3或更高版本,则可以使用parse_ini_string(),这将为您提供一个很好的关联数组:

$str = fetch_from_db();
$array = parse_ini_string($str);
echo $array['menu_image']; // hd_events.png

答案 1 :(得分:0)

尝试

if (preg_match('/^menu_image\\s*=\\s*(.*)$/m', $t, $matches)) {
    //the content is $matches[1];
}

你应该考虑让一个表有两列“key”和“value”,然后是

SELECT value from table_name WHERE key = 'menu_image';

答案 2 :(得分:0)

如果您只需要一个值,我会使用Artefacto's solution。如果你需要任何其他人,最好是取消joomla-ify并将该字符串转换为地图:

preg_match_all("/(.*)=(.*)/", $dbString, $matches); 
$settings = array();
for($i = 0; $i < count($matches[1]); $i++)
    $settings[$matches[1][$i]] = $matches[2][$i];

// Use $settings['menu_image'] or any of the others