将filename.jpg与字符串分开

时间:2014-06-05 12:13:58

标签: php find preg-replace

我的MySQL表中有一个带有几个参数的字段。我想将 filename.jpg filename.gif 作为新变量。

这是表格中的信息(Joomla banner模块)

$string = '{"imageurl":"images\/banners\/foo.gif","width":"","height":"","alt":""}';

$theimage = find(gif or jpg, $string); // Or something.. :-)

2 个答案:

答案 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
    )

)