What potential pitfalls should be considered when searching for a string in PHP?

When searching for a string in PHP, potential pitfalls to consider include case sensitivity, the presence of special characters, and the need to handle multiple occurrences of the string. To address these issues, it is recommended to use the `stripos()` function for case-insensitive searches and `preg_quote()` to escape special characters. Additionally, using a loop with `strpos()` can help handle multiple occurrences of the string.

// Search for a string in a case-insensitive manner
$haystack = "Hello World";
$needle = "hello";
if (stripos($haystack, $needle) !== false) {
    echo "String found!";
} else {
    echo "String not found!";
}

// Escape special characters before searching
$haystack = "Hello [World]";
$needle = "[World]";
$needle = preg_quote($needle, '/');
if (strpos($haystack, $needle) !== false) {
    echo "String found!";
} else {
    echo "String not found!";
}

// Handle multiple occurrences of the string
$haystack = "Hello World, Hello PHP";
$needle = "Hello";
$pos = 0;
while (($pos = strpos($haystack, $needle, $pos)) !== false) {
    echo "String found at position: $pos\n";
    $pos += strlen($needle);
}