저는 이미지가 매우 무거 우므로 WordPress 테마를 사용하고 있습니다. 이미지는 파일에 직접 링크해야하는 앵커 태그로 싸여 있습니다.PHP/wordpress에서 img src를 사용하여 앵커 href를 교환하십시오.
<a href="Direct_link_to_file" rel="shadowbox"><img src="Direct_link_to_file"></a>
편집 :
<a href="Link_to_attachment_page" ><img src="Direct_link_to_file"></a>
내가해야 할 것은 다음과 같이 포맷 할입니다 예를 들면 다음과 같습니다 이미지의 마크 업의 실수로이 글을 쓰는 마무리하지 않고 발표했다.
지금까지 페이지의 각 이미지에 대한 src를 가져 와서 배열에 저장하는 preg_match_all이 있습니다. 내가 배열에 해당 SRC 각 앵커 태그의 HREF를 변경하는 루프에서 사용 preg_replace이다 다음 한 무엇을했다
preg_match_all("/<img .*?(?=src)src=\"([^\"]+)\"/si", $content, $m);
:이처럼 이제
for($k = 0; $k <$length; $k++){
$pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a$1 rel="shadowbox" href="'.$m[1][$k].'"$2$3.$4$5>';
$content = preg_replace($pattern, $replacement, $content);
}
, 그 성공적으로 HREF를 설정 배열에 저장된 값으로. 그러나 각 href는 동일한 이미지 (마지막 이미지)로 설정됩니다. 그것이 내가 갇혀있는 곳입니다. 지금 뭐야?
['preg_replace_callback'] (http://php.net/preg_replace_callback)을 사용하고 루프를 사용하는 대신 함수에서 대체 논리를 처리해야합니다. 또는 더 비효율적이지만 더 단순한 DOM 메소드를 사용하십시오. 더 좋은데'qp ($ html) -> find ("img") 등으로'phpQuery' 또는'QueryPath'를 사용하십시오. – mario
나는 이것에 대해 생각했지만 정말 생각하지 않습니다. 도움이 될거야. 배열 내에 저장된 src에 액세스 할 수 있도록 루프가 필요합니다. 나는 그것에 대해 잘못 될 수 있습니다. – user1560324