【问题标题】:Using strpos to matching … and使用 strpos 匹配 ... 和
【发布时间】:2015-11-01 01:57:52
【问题描述】:

我的页面上出现了这个… 符号而不是...,我尝试同时使用这两个符号来查看它是否在字符串中:

echo $matches[$indexN];
if (strpos($matches[$indexN], "…") === false && strpos($matches[$indexN], "...") === false) {
echo "false";
}

$matches[$indexN] 的输出:

…

if 语句的输出:

false

我做错了什么?

【问题讨论】:

  • 该网站是否公开可用?
  • 我认为†是多字节字符的两个字符表示。输入是什么?也许试试php.net/manual/en/function.mb-strpos.php.. 一切都是utf8吗?
  • @chris85 我使用 file_get_contents 从这个站点获取内容:view-source:notalwaysright.com/page/4
  • †部分在哪里?你的 PHP 是 utf8 吗?

标签: php utf


【解决方案1】:

… 是以 UTF-8 编码的省略号 (...) 的 ANSI 解释。省略号是一个字符,而您似乎将三个(三个句点)传递给strpos。顺便说一句,当使用 UTF-8 等多字节编码时,您需要改用 mb_strpos

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2017-09-13
    • 2016-08-19
    • 2011-02-01
    • 1970-01-01
    • 2015-04-29
    • 2011-12-17
    相关资源
    最近更新 更多