Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过ltrim()修剪base64字符串PHP中缺少的字符_Php_Base64_Trim - Fatal编程技术网

通过ltrim()修剪base64字符串PHP中缺少的字符

通过ltrim()修剪base64字符串PHP中缺少的字符,php,base64,trim,Php,Base64,Trim,下面是一个base64代码,以:数据:image/png;base64。我使用的ltrim()如下: $base64_data='data:image/png;base64,iVboR....'; $base64_data = ltrim($base64_data,'data:image/png;base64,'); 但结果是错误的,去掉了字符“i”。是“VboR…” 为什么?您需要使用substr而不是ltrim $base64_data = substr($base64_data, 22)

下面是一个
base64
代码,以:
数据:image/png;base64
。我使用的
ltrim()
如下:

$base64_data='data:image/png;base64,iVboR....';
$base64_data = ltrim($base64_data,'data:image/png;base64,');
但结果是错误的,去掉了字符“i”。是“VboR…”
为什么?

您需要使用
substr
而不是
ltrim

$base64_data = substr($base64_data, 22);

只是为了好玩,如果您知道要删除的整个子字符串,只需替换它:)

输出

iVboR....

为什么错误地要修剪整个子字符串?Trim不是用于此目的。

我认为您误解了Trim()函数的用途。。。第二个参数不是要删除的精确匹配字符串,而是要删除的无序字母序列为什么不简单地使用来删除字符串的初始部分<代码>$base64_data=substr($base64_data,strlen('data:image/png;base64')但是结果几乎是正确的,只是没有“i”,并且当我更改像ltrim($base64_data,'data:image/png;base64')这样的代码时;因此,结果是正确的,没有角色遗漏。关键是你完全误解了实际在做什么。。。。这不是你想要实现的正确功能。我使用substr最后,我只是检查一下修剪有什么问题
iVboR....