我的MySQL表中有一个带有几个参数的字段。我想将 filename.jpg 或 filename.gif 作为新变量。
这是表格中的信息(Joomla banner模块)
$string = '{"imageurl":"images\/banners\/foo.gif","width":"","height":"","alt":""}';
$theimage = find(gif or jpg, $string); // Or something.. :-)
答案 0 :(得分:2)
您可以使用json_decode()方法解码字符串并将其转换为对象。然后使用pathInfo()方法获取扩展名,如下所示。
<?php
$string = '{"imageurl":"images\/banners\/foo.gif","width":"","height":"","alt":""}';
$obj = json_decode($string);
$names = pathInfo($obj->imageurl);
echo $names['extension']; //gif
echo $names['basename']; //foo.gif
echo $names['filename']; //foo
?>
答案 1 :(得分:0)
如果你想使用正则表达式:
$input_lines = '{"imageurl":"images\/banners\/foo.gif","width":"","height":"","alt":""}';
preg_match_all("/[A-Za-z0-9]+\.(gif|jpg)/", $input_lines, $output_array);
print_r($output_array);
结果:
Array
(
[0] => Array
(
[0] => foo.gif
)
[1] => Array
(
[0] => gif
)
)