【发布时间】:2009-10-13 20:22:55
【问题描述】:
我正在开发一项功能,该功能需要我获取网页内容,然后检查该页面中是否存在某些文本。这是一个反向链接检查工具。
问题是这样的——该函数大部分时间都运行良好,但偶尔,当链接明显存在时,它会标记一个没有链接的页面。我已经追踪到可以直观地比较输出中的字符串,它们匹配得很好,但是使用 == 运算符,PHP 告诉我它们不匹配。
认识到这可能是某种编码问题,我决定看看如果我在它们上使用base64_encode() 会发生什么,所以我可以看看这样做是否会在两个字符串之间产生不同的结果(这似乎完全一样)。
我的怀疑得到了证实——在要比较的字符串上使用 base64_encode 会产生不同的字符串。问题找到了!
有没有什么方法可以根据输出的文本(匹配的)使这些字符串统一,这样当我在 PHP 中比较它们时,它们匹配?
【问题讨论】:
-
您能否可靠地检查您正在比较的网站的字符编码?
标签: php string comparison character-encoding