AYUDENME POR FAVOR
Publicado por Ren (1 intervención) el 29/11/2003 21:29:31
NECESITO SABER QUE HACE ESTE CODIGO, ES SENCILLO SOY ESTUDIANTE Y NECESITO AYUDA. GRACIAS:
<?php
function InStr($s1, $s2)
{
if(!(is_string($s1) && is_string($s2))) return 0;
$s1len = strlen($s1);
$s2len = strlen($s2);
if(!ereg($s1, $s2)) return 0;
if($s1 == $s2) return 1;
$begin = 0;
$end = $s2len - $s1len;
$position = 0;
while($end > $begin + 1)
{
$middle = ceil(($begin + $end) / 2);
$leftBegin = $begin;
$rightBegin = $middle + $s1len;
$leftEnd = $middle;
$rightEnd = $end + $s1len;
//Check left first
if(ereg($s1, substr($s2, $leftBegin, $rightBegin - $leftBegin)))
{
$end = $middle;
}
else //(ereg($s1, substr($s2, $leftEnd, $rightEnd - $leftEnd)))
{
$position += $middle - $begin;
$begin = $middle;
}
}
if(ereg($s1, substr($s2, $end, $s1len))) $position++;
return $position + 1;
}
<?php
function InStr($s1, $s2)
{
if(!(is_string($s1) && is_string($s2))) return 0;
$s1len = strlen($s1);
$s2len = strlen($s2);
if(!ereg($s1, $s2)) return 0;
if($s1 == $s2) return 1;
$begin = 0;
$end = $s2len - $s1len;
$position = 0;
while($end > $begin + 1)
{
$middle = ceil(($begin + $end) / 2);
$leftBegin = $begin;
$rightBegin = $middle + $s1len;
$leftEnd = $middle;
$rightEnd = $end + $s1len;
//Check left first
if(ereg($s1, substr($s2, $leftBegin, $rightBegin - $leftBegin)))
{
$end = $middle;
}
else //(ereg($s1, substr($s2, $leftEnd, $rightEnd - $leftEnd)))
{
$position += $middle - $begin;
$begin = $middle;
}
}
if(ereg($s1, substr($s2, $end, $s1len))) $position++;
return $position + 1;
}
Valora esta pregunta


0