我正在尝试使用PHP解码字符串,但是它似乎未返回正确的结果。
我尝试使用html_entity_decode
和utf8_decode(urldecode())
当前代码:
$str = "joh'@test.com";
$decodeStr = html_entity_decode($str, ENT_COMPAT, "UTF-8");
预期收益为john@test.com
答案 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