使用PHP解码字符串

时间:2019-02-07 05:45:42

标签: php

我正在尝试使用PHP解码字符串,但是它似乎未返回正确的结果。

我尝试使用html_entity_decodeutf8_decode(urldecode())

当前代码:

$str = "joh'@test.com";
$decodeStr = html_entity_decode($str, ENT_COMPAT, "UTF-8");

预期收益为john@test.com

3 个答案:

答案 0 :(得分:3)

我想您的字符“ n”的html实体代码是错误的。 工作示例:

var listOfFiles = await myImgDir.list(recursive: true).toList();
var count = countList.length;

答案 1 :(得分:0)

@的实体不应该是@而不是'的实体吗?

答案 2 :(得分:0)

n的HTML实体代码为n,而字符串中的实体代码用于单个撇号'。如果要转换单引号,则在调用ENT_QUOTES时必须使用html_entity_decode()标志,因为默认值为ENT_COMPAT | ENT_HTML401(来自PHP docs),不会转换单引号。引号。如果需要其他标志,可以使用管道|这样的符号“ {”添加它们:ENT_HTML401 | ENT_QUOTES

如果您期望使用john@test.com

$str = "john@test.com";
$decodeStr = html_entity_decode($str, ENT_COMPAT, "UTF-8");
echo $decodeStr;  // john@test.com

或者如果您期望使用joh'@test.com

$str = "joh'@test.com";
$decodeStr = html_entity_decode($str, ENT_QUOTES, "UTF-8");
echo $decodeStr; // joh'@test.com