PHP strps函数中的指针长度是否有限制?

PHP strps函数中的指针长度是否有限制?,php,strpos,Php,Strpos,我的问题很简单: strpos针的长度是否有限制 如果是的话,有没有办法绕过它 似乎我的长针不会触发一个位置,而我的短针会触发一个位置 例如: if (strpos($data, "You were not able to complete this job. Please try again at a later date. Do not hit your back button.") !== false) //solves as false if (strpos($data, "You w

我的问题很简单:

  • strpos针的长度是否有限制
  • 如果是的话,有没有办法绕过它
  • 似乎我的长针不会触发一个位置,而我的短针会触发一个位置

    例如:

    if (strpos($data, "You were not able to complete this job. Please try again at a later date. Do not hit your back button.") !== false)
    //solves as false
    
    if (strpos($data, "You were not able") !== false)
    //returns the position
    
    问题出在其他地方:虽然可能存在一些实施限制(例如2GB?),但不是这个限制

    大概较长的指针与输入不匹配:

    • 额外的空间?记住浏览器会“折叠”连续的HTML空白。因此,来自浏览器的“复制粘贴”可能与cURL读取的内容不同。(这也可以扩展到其他未在浏览器中呈现为文本的源。)

    • 看起来像空间但不是的东西?(制表符还是换行符?)

    • 或其他导致输入(和/或针刺)与预期不同的内容

    问题出在其他地方:虽然可能存在一些实施限制(例如2GB?),但不是这个限制

    大概较长的指针与输入不匹配:

    • 额外的空间?记住浏览器会“折叠”连续的HTML空白。因此,来自浏览器的“复制粘贴”可能与cURL读取的内容不同。(这也可以扩展到其他未在浏览器中呈现为文本的源。)

    • 看起来像空间但不是的东西?(制表符还是换行符?)

    • 或其他导致输入(和/或针刺)与预期不同的内容


    请发布一个演示问题的用例。定义
    更长的
    针。多长是多长?这里的问题可能与大小写或字符集有关,
    strpos()
    执行二进制比较,不会考虑这些。如果您传入的指针太长,无法处理,最有可能的结果是内存不足错误或segfault。@KiloJKilo-您能否同时显示
    $data
    变量中的内容…?您确定
    $data
    文本中没有任何HTML标记、制表符代替空格等?也许一句话后两个空格?每一个字节都和你的针有什么不同吗?如果看不出有什么不同,请尝试逐字符循环遍历每个字符串,直接比较每个字符串,或者还可以打印它们的值。@KiloJKilo如果第二个示例匹配(使用较短的文本),尝试从字符串中获取十六进制转储,它将帮助您了解其不匹配的原因。请发布一个演示该问题的用例。定义
    longer
    指针。多长是多长?这里的问题可能与大小写或字符集有关,
    strpos()
    执行二进制比较,不会考虑这些。如果您传入的指针太长,无法处理,最有可能的结果是内存不足错误或segfault。@KiloJKilo-您能否同时显示
    $data
    变量中的内容…?您确定
    $data
    文本中没有任何HTML标记、制表符代替空格等?也许一句话后两个空格?每一个字节都和你的针有什么不同吗?如果您看不到差异,请尝试逐个字符串循环,直接比较每个字符串,也许还可以打印它们的值。@KiloJKilo如果第二个示例匹配(使用较短的文本),请尝试从字符串中获取十六进制转储,它将帮助您了解不匹配的原因。谢谢。我不会在执行cURL时设置头或编码选项。你认为这会带来一些问题吗?如果我将编码设置为标准的浏览器选项,它可能会返回一个更正常的页面?@KiloJKilo我会使用类似fiddler2的工具进行调查。它可以用来查看几种不同形式的实际数据,并将显示所使用的客户端(和/或标题)是否会改变服务器的响应。我开始使用直接html编码,而不是显示什么,一切都已解决。谢谢你。我不会在执行cURL时设置头或编码选项。你认为这会带来一些问题吗?如果我将编码设置为标准的浏览器选项,它可能会返回一个更正常的页面?@KiloJKilo我会使用类似fiddler2的工具进行调查。它可以用来查看几种不同形式的实际数据,并将显示所使用的客户端(和/或标题)是否会改变服务器的响应。我开始使用直接html编码,而不是显示什么,一切都已解决。谢谢