我正在使用简单的 strposa PHP函数来搜索html页面中的文字。
$ItemsToGet[ ] = "Alpha One";
$ItemsToGet[ ] = "Alpha Fifty"
$ItemsToGet[ ] = "FoxTrot Twelve";
$ItemsToGet[ ] = "Bravo Six";
$ItemsToGet[ ] = "Alpha Niner";
if ( strposa( $rawPage, $itemsToGet, 1 ) !== false )
{
//echo the current $itemsToGet aka the element that got the match from
//$itemsToGet
}
function strposa( $haystack, $needles = array( ), $offset = 0 ) {
$chr = array( );
foreach ( $needles as $needle )
{
$res = strpos( $haystack, $needle, $offset );
if ( $res !== false )
$chr[ $needle ] = $res;
}
if ( empty( $chr ) )
return false;
return min( $chr );
}
如果 strposa 找到一个匹配并遍历括号,我想将它当前所在的数组项添加到另一个数组中......就像这样......
$foundArray[ ] = $itemsToGet;
但是,我不确定如何引用当前元素。使用current($itemsToGet)
始终返回第一个元素。这甚至可能吗?我是否必须找到 strposa 之外的其他内容?
答案 0 :(得分:0)
这将返回$ needle而不是位置。
function strposa( $haystack, $needles = array( ), $offset = 0 ) {
$chr = array( );
foreach ( $needles as $needle )
{
$res = strpos( $haystack, $needle, $offset );
if ( $res !== false )
return $needle;
}
return false
}