Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查句子中是否存在字符串_Php - Fatal编程技术网

Php 如何检查句子中是否存在字符串

Php 如何检查句子中是否存在字符串,php,Php,如何检查PHP字符串中的值是否存在 当使用strps()函数时,我在签入字符串时会遇到问题 假设我有一个字符串我是一名程序员 然后,如果我选中Pro,则显示其索引值 <?php $string="I m Programmer"; $found="Prog"; echo strpos($string,$found); ?> strpos()在我需要时显示Porg索引值如果Prog单词存在于字符串中,则显示索引值如果不是,则应为“不显示任何内容”,因为我希望匹配程序员完全工作而不是

如何检查PHP字符串中的值是否存在 当使用strps()函数时,我在签入字符串时会遇到问题 假设我有一个字符串我是一名程序员 然后,如果我选中Pro,则显示其索引值

<?php
$string="I m Programmer";
$found="Prog";
echo strpos($string,$found);
?>

strpos()在我需要时显示Porg索引值如果Prog单词存在于字符串中,则显示索引值如果不是,则应为“不显示任何内容”,因为我希望匹配程序员完全工作而不是Prog您可以使用

你可以用

试试-

i
不敏感的修饰符。不区分大小写的匹配

试试-

$string = 'I m Programmer'; //  "I m Programmer." - will work too
$found="programmer"; // lower case
echo preg_match("/\b$found\b/i",$string) ? 'Matched' : 'No Match';
i
不敏感的修饰符。不区分大小写的匹配


您也可以使用strpos,只需检查搜索的if位于~z后的字符即可

$str = strtolower($str);
$search = strtolower($search);
$is_in = (false !== ($pos = strpos($str,$search))) && !in_array($str[$pos + strlen($search)],['a','b','c',...'z']);

您也可以使用strpos,只需在搜索的if位于~z之后检查字符

$str = strtolower($str);
$search = strtolower($search);
$is_in = (false !== ($pos = strpos($str,$search))) && !in_array($str[$pos + strlen($search)],['a','b','c',...'z']);

您可以使用
pre_match()
函数,因为
i
会忽略区分大小写的内容。有关更多详细信息,请阅读此处的
pre_match
文档


您可以使用
pre_match()
函数执行,因为
i
会忽略区分大小写的功能。有关更多详细信息,请阅读此处的
pre_match
文档



那么基本上你想检查完整单词?像“程序员”而不是“程序”?所以基本上你想检查完整的单词?像“程序员”而不是“程序”?区分大小写我不想要这个fixed@MuGhalProgrammer区分大小写我不想要这个fixed@MuGhalProgrammer
$str = strtolower($str);
$search = strtolower($search);
$is_in = (false !== ($pos = strpos($str,$search))) && !in_array($str[$pos + strlen($search)],['a','b','c',...'z']);
<?php
// for insensitive string
function insensitive($val,$str){
    if(preg_match("/\b$val\b/i",$str) ){
      return 1;
    }else{
      return 0;
    }
}
// for case sensitive string
function sensitive($val,$str){
    if(preg_match("/\b$val\b/",$str) ){
      return 1;
    }else{
      return 0;
    }
}
$string = 'I m programmer'; 
$found="Programmer"; 

// call function like this to get result
echo insensitive($found,$string);
echo sensitive($found,$string);
?>