Sözde Kod
text = "I go to school";
word = "to"
if ( word.exist(text) ) {
return true ;
else {
return false ;
}
Ben kelime metinde varsa true döndüren bir PHP fonksiyonu arıyorum.
Eğer sizin ihtiyaçlarınıza bağlı olarak bir kaç seçenek var. Bu basit Örneğin, strpos()
muhtemelen kullanmak için en basit ve en direkt fonksiyonudur. Eğer sonuç ile bir şeyler yapmak gerekiyorsa, strstr()
veya preg_match()
tercih edebilir. Eğer iğne gibi karmaşık bir desen yerine bir dize kullanmanız gerekiyorsa, isteyeceksiniz preg_match()
.
$needle = "to";
$haystack = "I go to school";
strpos() and stripos() yöntemi (stripos () duyarsız olduğunu):
if (strpos($haystack, $needle) !== false) echo "Found!";
strstr() and stristr() method (stristr duyarsız olduğunu):
if (strstr($haystack, $needle)) echo "Found!";
preg_match method (düzenli ifadeler, çok daha esnek, ancak daha yavaş çalışır):
if (preg_match("/to/", $haystack)) echo "Found!";
Tam bir işlevi istedi, çünkü bu (iğne ve samanlık için varsayılan değerleri ile) bir araya koymak istiyorum nasıl:
function match_my_string($needle = 'to', $haystack = 'I go to school') {
if (strpos($haystack, $needle) !== false) return true;
else return false;
}
$text="I go to school";
return (strpos($text, 'to')!== false);
The manual page you need to find the correct usage of strpos
Uygun bir php sürümü için pek çok kez aradıktan sonra, benim kendi yazmaya karar ve hatırlamak için iyi (birden fazla parametre iğne ile) işlevi içerir.
function contains($str,$contain)
{
if(stripos($contain,"|") !== false)
{
$s = preg_split('/[|]+/i',$contain);
$len = sizeof($s);
for($i=0;$i < $len;$i++)
{
if(stripos($str,$s[$i]) !== false)
{
return(true);
}
}
}
if(stripos($str,$contain) !== false)
{
return(true);
}
return(false);
}
Php açıklaması içerir:
contains($str,$arg)
$str: The string to be searched
$arg: The needle, more arguments divided by '|'
Örnekler:
$str = 'green house';
if(contains($str,"green"))
echo "we have a green house.";
else
echo "our house isn't green";
$str = 'green, blue, red houses';
if(contains($str,"green|red"))
echo "we have a green or red house.";
else
echo "we have a blue house.";