所以这是我无法找到任何文档的东西。我有一个纯文本字符串,我试图在php中变成一个流。
$myStr = "A bit of text +test +test2";
$stream = fopen('data://text/plain,' . $myStr, 'r');
var_dump(stream_get_contents($stream);
此代码的输出是
A bit of text test test2
我尝试使用preg_replace向加号添加转义但是这似乎没有任何效果。还有其他想法吗?感谢
答案 0 :(得分:3)
您可以使用base64_encode:
$myStr = "A bit of text +test +test2";
$stream = fopen('data://text/plain;base64,' . base64_encode($myStr), 'r');
var_dump(stream_get_contents($stream));
问题的原因是它是一个URI,而在HTTP URI中,+
是一个编码空间。您的另一个选择是使用urlencode(example)。