我知道标题并没有很好地描述问题。我正在使用laravel 5.4。我想知道的是当我从数据库中打印文件时如何删除[“”]。
从我的数据库中的示例我有一个名为file的列,在该列中我有一个名为[“book.pdf”]的项目。
我想要删除[“”]以便我只有book.pdf
答案 0 :(得分:1)
您可以创建一个访问者,每次调用file
列时都会删除['']
1 - 转到您的模型
2 - 创建一个访问者:
class FooBar extends Model
{
/**
* Format the name to remove ['']
*
* @param string $value
* @return string
*/
public function getFileAttribute($value)
{
if (preg_match('/\["([^"]+)"\]/', $value, $m) ) {
return $m[1];
}
else {
//return the original value
return $value;
}
}
}
现在在您看来,您只需致电:
{{ $foo->file }}
并自动格式化输出。
答案 1 :(得分:0)
$str = '["book.pdf"]';
//forward slashes are the start and end delimeters
//third parameter is the array we want to fill with matches
if (preg_match('/"([^"]+)"/', $str, $m)) {
print $m[1];
} else {
//preg_match returns the number of matches found,
//so if here didn't match pattern
}
答案 2 :(得分:0)
如果它始终是相同的字符串[""]
,我只会使用substr($string, 2, -2)
删除字符。