You can either loop on all lines of the array, and use strpos
on each string ; a bit like this :
$search_string = '<div>1</div>';
$array = array(
'sample' => '<div>1</div><p>fish food</p>',
'sample2' => '<div>2</div><p>swine</p>'
);
foreach ($array as $key => $string) {
if (strpos($string, $search_string) === 0) {
var_dump($key);
}
}
Which will get you the key of the line that starts with your search string :
string 'sample' (length=6)
Or preg_grep might do the trick too :
Returns the array consisting of the
elements of the input array that
match the given pattern .
For instance :
$result = preg_grep('/^' . preg_quote($search_string, '/') . '/', $array);
var_dump($result);
(Don't forget to use preg_quote
! )
Will get you :
array
'sample' => string '<div>1</div><p>fish food</p>' (length=28)
Note that, this way, you don't get the key, but only the content of the line.