标签: strpos

使用阵列作为strpos中的针

strpos在搜索字符串时如何使用针数组?例如:

$find_letters = array('a', 'c', 'd');
$string = 'abcdefg';

if(strpos($string, $find_letters) !== false)
{
    echo 'All the letters are found in the string!';
}
Run Code Online (Sandbox Code Playgroud)

因为在使用它时,它不起作用,如果有这样的东西会很好

php arrays strpos

79
推荐指数
6
解决办法
13万
查看次数

哪种方法首选strstr或strpos?

我注意到很多开发人员正在使用strstr和strpos来检查子字符串是否存在.他们中的一个是首选,为什么?

php strstr strpos

77
推荐指数
3
解决办法
4万
查看次数

如何使strpos不区分大小写

如何更改strpos以使其不区分大小写.原因是如果product->nameMadBike并且搜索词是自行车它不会回应我的链接.我主要担心的是代码的速度.

<?php
$xml  = simplexml_load_file('test.xml');
$searchterm = "bike";
foreach ($xml->product as $product) {
if (strpos($product->name, $searchterm) !== false ) {
echo $product->link;
} }
?>
Run Code Online (Sandbox Code Playgroud)

php strpos

44
推荐指数
2
解决办法
7万
查看次数

根据部分字符串选择数组键

我有一个数组,在那个数组中我有一个看起来像show_me_160这样的数组键,这个数组键可能会改变一点,所以有时候页面可能会加载而数组键也许show_me_120,我想现在可以只是字符串匹配数组键直到最后一次,_以便我可以检查最后一个下划线后的值是多少?

php arrays string substring strpos

32
推荐指数
4
解决办法
3万
查看次数

PHP检查文件是否包含字符串

我正在尝试查看文件是否包含发送到页面的字符串.我不确定这段代码有什么问题:

?php
    $valid = FALSE;
    $id = $_GET['id'];
    $file = './uuids.txt';

    $handle = fopen($file, "r");

if ($handle) {
    // Read file line-by-line
    while (($buffer = fgets($handle)) !== false) {
        if (strpos($buffer, $id) === false)
            $valid = TRUE;
    }
}
fclose($handle);

    if($valid) {
do stufff
}
Run Code Online (Sandbox Code Playgroud)

php fopen strpos

28
推荐指数
2
解决办法
8万
查看次数

简单的PHP strpos功能不起作用,为什么?

为什么这个独立代码不起作用:

$link = 'https://google.com';
$unacceptables = array('https:','.doc','.pdf', '.jpg', '.jpeg', '.gif', '.bmp', '.png');

foreach ($unacceptables as $unacceptable) {
        if (strpos($link, $unacceptable) === true) {
            echo 'Unacceptable Found<br />';
        } else {
            echo 'Acceptable!<br />';
        }
}
Run Code Online (Sandbox Code Playgroud)

即使https包含在$link变量中,每次打印都是可接受的.

php strpos

21
推荐指数
3
解决办法
4万
查看次数

strpos()有多针?

我正在寻找像strpos()这样的函数,它有两个显着的区别:

  1. 能够接受多针.我的意思是成千上万针.
  2. 搜索大海捞针中所有针的出现次数并返回一系列起始位置.

当然,它必须是一种有效的解决方案,而不仅仅是每根针的循环.我搜索了这个论坛,并且有类似的问题,例如:

但是我们正在寻找它们.我使用strpos只是为了更好地说明我的问题,可能有一些完全不同的东西必须用于此目的.

我知道Zend_Search_Lucene,我感兴趣的是它是否可以用来实现这个以及如何(只是一般的想法)?

非常感谢您的帮助和时间!

php full-text-search full-text-indexing strpos

21
推荐指数
3
解决办法
2万
查看次数

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

if(strpos("http://www.example.com","http://www.")==0){ // do work}
Run Code Online (Sandbox Code Playgroud)

我希望这能解决它的真实性.但是当我这样做时会发生什么

if(strpos("abcdefghijklmnop","http://www.")==0){// do work}
Run Code Online (Sandbox Code Playgroud)

这也传递了PHP 5,因为我可以解决strpos返回false,转换为0.

这是正确的思考/行为吗?如果是这样,那么测试子字符串的解决方法是在另一个字符串的开头?

php strpos

20
推荐指数
3
解决办法
4万
查看次数

如何使用strpos来确定输入字符串中是否存在字符串?

$filename = 'my_upgrade(1).zip';
$match = 'my_upgrade';

if(!strpos($filename, $match))
    {
    die();
    }
else 
   {
   //proceed
   }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,当文件名不包含文本字符串"my_upgrade"时,我正试图从脚本中消失.但是,在给出的示例中,它不应该死,因为" my_upgrade(1).zip "包含字符串" my_upgrade ".

我错过了什么?

php strpos

20
推荐指数
3
解决办法
6万
查看次数

为什么mb_strpos()比strpos()慢得多?

我曾批评一个答案,暗示preg_match===,为了避免类型不匹配查找字符串偏移时.

不过,后来对答案的作者已经发现,preg_match实际上是显著快于多字节操作mb_strpos.Normal strpos比两个函数都快,但当然不能处理多字节字符串.

据我了解,mb_strpos需要做更多的东西strpos.然而,如果正则表达式可以做到这一点几乎一样快strpos,它是什么,mb_strpos这是否需要这么多的时间?

我怀疑这是一个优化错误.例如,PHP扩展可能比其原生函数慢吗?

mb_strpos($str, "??", 0 ,"GBK"): 15.988190889 (89%)
preg_match("/??/", $str): 1.022506952 (6%)
strpos($str, "dh"): 0.934401989 (5%)
Run Code Online (Sandbox Code Playgroud)

功能运行10 次6次.绝对时间(s)计算函数的10 6次运行的时间总和,而不是一次的平均值.

测试字符串是$str = "??dhgd????";.该测试可以在这里看到(向下滚动跳过测试类).

注意:根据评论员之一(和常识),preg_match比较时也不使用多字节,受到同样的错误风险strpos.

php regex performance strpos

19
推荐指数
3
解决办法
3455
查看次数