Я пытаюсь найти в URL подходящую строку, но приведенный ниже фрагмент кода не работает.
<?php $url = "http://www.drudgereport.com"; $search = "a"; $file = file($url); if (in_array($search,$file)) { echo "Success!"; } else { echo "Can't find word."; } ?>
Если вы просто ищете вхождение строки на странице, вы можете использовать
$str = file_get_contents($url); if (strpos($str, $search) !== false) { echo 'Success!'; } else { echo 'Fail'; }
Этот код найдет только строку с точной строкой $search (вероятно, с пробелами). Если вы анализируете HTML, проверьте PHP DOMDocument классы. Или вы можете использовать регулярные выражения, чтобы получить то, что вам нужно.
$search
in_array() проверяет, равен ли элемент массива вашей игле.
in_array()
Маловероятно, что многие веб-сайты будут иметь строку, равную только a.
a
Кроме того, allow_url_fopen включено?
allow_url_fopen
Как говорит @alex, проверьте, что allow_url_fopen включен. Также вы можете использовать strpos для поиска строки:
strpos
<?php $url = "http://www.drudgereport.com"; $search = "a"; $file_content = file_get_contents($url); if (strpos($file_content, $search) !== false) { echo "Success!"; } else { echo "Can't find word."; } ?>