问题标签 [strpos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6289 浏览

php - PHP中的Strpos问题

我正在编写一个简单的函数,但由于某种原因(可能是一个简单的函数)它对我不起作用,我想知道你们是否可以帮助我。

在试图找出问题所在时,我将那个回显线放在了 If 语句的上方,以确保变量中确实有东西。

我的问题是 IF 语句永远不会打印出来。

A$postID是一个数字123123

字符串通常$cookie类似于123123.23422.234234.2342342.234234

谢谢你的帮助!

0 投票
3 回答
30670 浏览

sql - SQL Server:strpos() 的任何等价物?

我正在处理一个烦人的数据库,其中一个字段包含真正应该存储的两个单独字段。因此,该列存储的内容类似于“第一个字符串~@~第二个字符串”,其中“~@~”是分隔符。(同样,我没有设计这个,我只是想修复它。)

我想要一个查询将它移动到两列中,看起来像这样:

但我找不到任何与 strpos 等效的东西。

0 投票
4 回答
5304 浏览

php - 从php中的字符串中删除特定字符

如何在 php 中检查字符串中的特定字符,例如“#”或“\”?

我真的不想使用替换,只是返回真或假。

谢谢

0 投票
3 回答
2266 浏览

php - 我对“strpos”功能的错误?php

我正在尝试strpos搜索字符串变量以查找$string短语“test”,如果它不包含“test”,则将另一个变量$change重新定义为$string2$change之前已定义)

但不幸的是,它不起作用。

上面有错吗?

谢谢你。

0 投票
1 回答
211 浏览

php - 奇怪的 strpos 行为

这是我的代码:

这是它的输出:

此行为是意外的。我以为我在做的是通过查看我的 HTTP 标头中的 Content-Location 属性来检测软 404。strpos 函数做出我不明白的决定。我哪里做错了?(顺便说一句,我不需要这个在其他网站上工作。)

0 投票
3 回答
761 浏览

php - PHP:使用 strpos() 只查找针

我正在使用 strpos() 来寻找大海捞针。但是,我希望它只找到具有相同字符串长度的针。例如:

所以,我需要检查找到的字符串的字符串长度并将其与针匹配,看看它们是否相同长度。所以,123/abc 正确匹配 abc,但我不希望 123/abcdefghijk 匹配 abc,因为它比 3 个字符长得多。

0 投票
2 回答
3637 浏览

php - 性能明智的字符串匹配

我有一个通用的数据库查询函数,每次发出 SQL 查询时都会运行以下检查:

  1. if (preg_match('~^(?:UPDATE|DELETE)~i', $query) === 1)
  2. if (preg_match('~^(?:UPDATE|DELETE)~iS', $query) === 1)
  3. if ((stripos($query, 'UPDATE') === 0) || (stripos($query, 'DELETE') === 0))

我知道一个简单的strpos()调用比做一个要快得多preg_match(),但是由于我调用strIpos()了两次,我真的不确定哪个应该表现得更好。

第二个选项中的S模式修饰符也给我带来了一些困惑,来自手册:

当一个模式要被多次使用时,值得花更多时间分析它以加快匹配时间。如果设置了此修饰符,则执行此额外分析。目前,研究模式仅对没有单个固定起始字符的非锚定模式有用。

在这种情况下,速度并不重要(否则我不会使用这个通用查询函数)但是,我仍然希望让它尽可能快地运行,同时保持它的简单性。

我应该选择以上哪个选项?


编辑:运行了一个简单的基准测试,但我仍然无法确定哪种方法效果更好。

以下是10,000 次尝试的结果(总时间,以秒为单位):

100,000 次尝试

1,000,000 次尝试

10,000,000 次尝试

正如您所看到的结果差异很大,这让我想知道这是否是进行基准测试的正确方法。

0 投票
5 回答
2527 浏览

php - 使用 PHP 按字符串中搜索查询的位置对 MySQL 的搜索结果进行排序

我希望我的搜索结果按字符串位置从小到大的顺序排列。例如,搜索“banana”会返回:


婴儿食品、李子、香蕉和大米,过滤

香蕉、脱水或香蕉粉

香蕉,生的

面包,香蕉,根据食谱准备,用人造黄油制成

CAMPBELL Soup Company,V8 SPLASH 果汁饮料,草莓香蕉

CAMPBELL Soup Company,V8 SPLASH 冰沙,草莓香蕉

CAMPBELL Soup Company,V8 V. FUSION 果汁,草莓香蕉


我希望“香蕉,生的”排在第一位,因为“香蕉”是结果中的第一个词,我希望“CAMPBELL Soup...”排在最后,因为“香蕉”是最后一个词。

我知道我可以使用 strpos() 来找到位置,但是我该如何把它们放在一起呢?

0 投票
3 回答
8190 浏览

php - 在 PHP 中,strpos() 无法在字符串中找到双引号 ('"')

这两个:

还有这个:

产生以下输出:

Strpos 完全找不到双引号,它返回 false(我用 strpos() === false 检查)。有人能告诉我这里发生了什么吗?我找不到任何文件表明 strpos 无法处理双引号,为什么找不到它?我已经黔驴技穷了。

0 投票
5 回答
50769 浏览

php - php 5 strpos() 返回0和false的区别?

我希望这可以解决,确实如此。但是当我这样做时会发生什么

这也传递给 php 5,因为据我所知 strpos 返回 false ,它转换为 0。

这是正确的想法/行为吗?如果是这样,测试子字符串是否位于另一个字符串的开头的解决方法是什么?