다른 사이트의 RSS 피드를 표시하고 싶은 로컬 인트라넷 사이트가 있습니다. 현재 Concrete5 CMS에 내장되어 있으며 RSS 디스플레이 플레이어 플러그인을 사용하여 피드를 표시하고 있습니다. 플러그인은 SimplePie을 사용하여 피드를 구문 분석합니다. 기본적으로 플러그인은 전체 RSS 내용을 표시합니다. 나는 플러그인 (SimplePie)을 조정하여 각 게시물/항목에 링크, 날짜 및 첫 번째 이미지가있는 제목 만 표시했습니다.RSS 피드의 광고 제거
그것은 잘 작동function getFirstImage($text) {
$text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
$pattern = "/<img[^>]+\>/i";
preg_match($pattern, $text, $matches);
$text = $matches[0];
return $text;
}
function scrapeImage($text) {
$pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
preg_match($pattern, $text, $link);
$link = $link[1];
$link = urldecode($link);
return $link;
}
, 문제가 피드 중 일부는 때로는 실제 포스트 앞에 배치되어 그 안에 광고를 가지고있다 : 나는 첫 번째 이미지의 소스를 얻기 위해에 $item->get_content()
전달이 기능 발견 따라서이 함수는 광고 URL을 반환합니다. 분명히 이러한 RSS 광고는 RSS 리더를 사용하는 사람들을 대상으로하지만 사이트에 표시하기 위해 매우 귀찮습니다.
<img>
이외의 정확한 태그를 지정하려고 시도하면 preg_match()
내에 있습니다. 태그를 찍은 특정 피드에만 작동한다고 생각합니다. 예를 들어 preg_match()
태그를 사용하여 <p>
태그 내부의 이미지 만 찾으려고하면
실제 게시물의 첫 번째 이미지는 원하는 피드마다 코드를 변경하지 않고 어떻게 얻을 수 있습니까? 표시 하시겠습니까?
광고를 제거하여 피드를 생성하는 웹 사이트의 조건을 위반했을 수 있습니다. –
인트라넷 사이트이므로 공개되지 않습니다. My Yahoo 나 iGoogle과 같은 맞춤 시작 페이지와 다소 비슷합니다. 나는 그 사이트 중 하나에 피드를 추가 할 때 광고를 본 것을 기억하지 못한다. 그러나 다시 한 번 사용하지 않았다. 게다가 큰 회색 영역이있는 것 같습니다. 한 손으로 왜 내 사이트와 내 콘텐츠 (공개 된 경우)를 통해 수익을 창출 할 수 있어야합니까? 다른 한편으로는, 나는 그들의 내용을 사용하고있다. 그리고 나는 나의 사이트에서 화폐로 돈을 벌면 나는 그들의 내용으로 돈을 벌고있다. – biggles
* 인트라넷 사이트이므로 일반인에게 표시되지 않습니다. * - 사용자가 잡힐 확률이 적어 지거나 올바르지 않습니다. – Quentin