Я немного борюсь с PHP.
Я создал массив и заполнил несколько позиций некоторыми возвращаемыми данными curl.
Я не вижу, как бы я искал каждую позицию массива для <p><strong>
и возвращал бы каждый символ от этого до </p>
.
Из терминала я мог бы сделать что-то вроде этого:
grep -A 2 strong | sed -e 's/<p><strong>//' -e 's/<\/strong><br\/>//' -e 's/<br \/>//' -e 's/<\/p>//' -e 's/--//' -e 's/^[ \t]*//;s/[ \t]*$//'
но я теряюсь, делая это в PHP
любой совет?
Редактировать: я хочу, чтобы содержимое каждого <p><strong>
</p>
Редактировать 2: Вот код, который я пытаюсь:
$m=array();
preg_match_all('/<p><strong>(.*?)<\/p>/',$buffer,$m);
$sizeM = count($m);
for ( $counter2 = 0; $counter2 <= $sizeM; $counter2++)
{
$displayString.= $m[$counter2];
}
И получение ArrayArrayArray ... как мой$ displayString
Редактировать 3: Я делаю это:
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 (lucid) Firefox/3.6.15");
curl_setopt($curl_handle, CURLOPT_HEADER, 0);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
$m=array();
preg_match_all('/<p>.*?<strong>(.*?)<\/p>/i',$buffer,$m);
foreach($m[1] as $mnum=>$match) {
$displayString.='Match '.$mnum.' is: '.$match."\n";
}