Я работаю над скриптом, который извлекает информацию с определенного веб-сайта. Указанный веб-сайт извлекает информацию из базы данных и отображает ее таким образом, чтобы пользователь мог легко ее прочитать (как всегда).
Представьте, что это выглядит так:
Var1: результат1 Var2: результат2 Var3: результат3
Что делает мой сценарий, так это то, что он читает исходный код страницы и извлекает «результат1», «результат2» и «результат3», получая текст между двумя строками.
Образец кода:
<?php
function get_string_between($string, $start, $end) {
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);
}
function check($url) {
// usually, $fullstring = file_get_contents($url);
$fullstring = "<string1>result1</string1><string1>result2</string1><string1>result3</string1>";
$result = get_string_between($fullstring, "<string1>", "</string1>");
echo "<b>Result: </b>".$result;
}
check("random"); // just to execute the function
?>
Если вам интересно, почему у меня есть функция check(), то это потому, что этот код является частью чего-то большего, и мне нужно решение, которое работает в этом случае, поэтому я постарался сохранить его безупречным.
Теперь я могу легко получить "результат1", потому что это первое вхождение, но как я могу получить "результат2" и "результат3"?
Спасибо :)
foreach
. - person Matt   schedule 07.08.2012