PHP - на стороне сервера, jQuery - на стороне клиента, поэтому он действительно зависит от того, чего вы хотите достичь. Также обратите внимание, что из-за политики одного и того же происхождения вы, как правило, не можете выполнить запрос Ajax к другому домену через JavaScript в любом случае (но вы можете прокси-сервер через свой собственный сервер)
jQuery, вот простой способ сделать это на PHP, который будет работать для предоставленного вами случая
$url="http://www.freebase.com/search?limit=30&start=0&query=cancer";
$html=file_get_contents($url);
if (preg_match('{<div id="article-1001".*?>(.*?)</div>}s', $html, $matches))
{
$content=$matches[1];
}
Обратите внимание на модификатор 's', который делает. соответствует переводу строки и. *? идиома, которая делает сопоставление внутренней части не жадным, так что она съедает только следующие </div>
Это работает для вашего случая, но регулярные выражения, как правило, плохо подходят для этой задачи. Вы можете загрузить HTML-код в DOmDocument и получить к нему доступ таким образом.
$doc = new DOMDocument();
$doc->loadHTML($html);
$div=$doc->getElementById("article-1001");