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