我使用PHP处理巨大的字符串来提取有用的数据。在我遇到这个意想不到的结果之前,一切都很顺利。
echo substr("https%3A%2F%2Fwww.instagram.com%2Fapexcalit%2F&redir_token=cQ3kBke8cJRkD9SHj2PKKqMFR598MTUzMTk0NDQ5MkAxNTMxODU4MDky&event=channel_description;",0,50);
我得到的输出是
https%3A%2F%2Fwww.instagram.com%2Fapexcalit%2F&amp
我不明白输出中的上一个放大器是从哪里来的。有什么建议吗?
发布于 2018-07-18 04:29:44
这对我来说是不可重现的,在这种情况下,我会使用html_entity_decode
而不是substr
。html_entity_decode
通过将所有HTML实体转换为其适用的字符来给出实际结果
$tst = html_entity_decode("https%3A%2F%2Fwww.instagram.com%2Fapexcalit%2F&redir_token=cQ3kBke8cJRkD9SHj2PKKqMFR598MTUzMTk0NDQ5MkAxNTMxODU4MDky&event=channel_description;");
echo substr ($tst, 0, 50);
点击此处了解更多信息http://php.net/manual/en/function.html-entity-decode.php
发布于 2018-07-18 04:44:16
&
是一个超文本标记语言实体,请尝试在输入字符串中使用函数htmlspecialchars_decode()
。
如下所示:
$str = "https%3A%2F%2Fwww.instagram.com%2Fapexcalit%2F&redir_token=cQ3kBke8cJRkD9SHj2PKKqMFR598MTUzMTk0NDQ5MkAxNTMxODU4MDky&event=channel_description;";
$str = htmlspecialchars_decode($str);
echo substr($str, 0, 47);
// Output: https%3A%2F%2Fwww.instagram.com%2Fapexcalit%2F&
https://stackoverflow.com/questions/51389532
复制相似问题