2011-03-17 1 views
0

텍스트 및 일부 html 요소가 포함 된 문자열이 있습니다. img 요소가 크기 썸네일 인 요소를 찾고 그 주위에 일부 html을 추가하고 싶습니다.요소에 html 찾기 및 가져 오기

<img class="size-thumbnail wp-image-279 alignleft" title="fellaisworkinghard" src="workinghard-150x150.png" alt="" height="150" width="150"> 

:까지 가입일 예

,

<div style="width:150px;" class="article-image"> 
    <img class="size-thumbnail wp-image-279 alignleft" title="fellaisworkinghard" src="workinghard-150x150.png" alt="" height="150" width="150"> 
    <span style="width:150px;" class="article-image-content">BLABLA</span> 
</div> 

사업부 스팬 요소 폭이 화면의 가로에서 촬영된다. 이 작업을 수행하는 가장 좋은 방법은 무엇이며 어떻게 수행 할 수 있습니까?

나는 정규식을 사용하여 높이를 얻는다고 생각했지만 다른 모든 것을 올바른 위치에 추가하는 방법을 모르겠습니다.

+0

* (관련) * [최상의 방법은 HTML 구문 분석] (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662 # 3577662) – Gordon

+0

태그가 추가 된 Wordpress 이후 가장 쉬운 방법은 초기 img 태그가 나중에 변경하는 대신 생성되는 위치에서 변경하는 것입니다. 생성 된 PHP 코드를 변경하여 추가 마크 업을 직접 추가하십시오. – Gordon

+0

@Gordon 예이 필터 함수를 추가하고 있습니다. 위젯을 추가하기 전에 어떻게 든 추가 할 수 있다면, 루트 파일을 변경하고 싶지 않은 테마를 쓰고 있기 때문에. – Patrik

답변

0

http://www.php.net/manual/en/class.domelement.php HTML을 찾고 조작하기위한 DOM 요소를 사용할 수 있습니다.

또한 http://framework.zend.com/manual/en/zend.dom.query.html Zend_Dom_Query를 사용하여 HTML을 찾고 조작하는 것이 좋습니다. 그것은 완벽하게 작동합니다.

당신은 항상 그것을 jQuery를 던질 수

+0

나는 이것으로 일한 적이 없지만 페이지가 동적이어서 내용이 문자열 일뿐입니다. 결코 HTML 페이지. 데이터베이스 -> 내 코드 -> 반향 – Patrik

+0

알았어. 당신은 Wordpress 템플릿에서 그것을 변경해야합니다. – osm

+0

@Patrik 그것은 전체 HTML 페이지 또는 단편 인 곳에서는별로 중요하지 않습니다. DOM이이를 처리 할 수 ​​있습니다. Zend_Dom은 DOM 위에 위치하며 CSS 셀렉터를 추가합니다. – Gordon

0

(당신은, 버퍼 조작하고 브라우저로 플러시 할 필요가 같은 페이지에서이 조작을 할 수 있습니다. 원하는 경우). 테마에 jquery를 넣고 헤더에 추가하십시오.

jQuery(document).ready(function() { 
    jQuery(".size-thumbnail").wrap("<div style='width:150px;' class='article-image'/>"); 
    jQuery(".size-thumbnail").after("<span style='width:150px;' " + 
            "class='article-image-content'>BLABLA</span>"); 
}); 

아니 가장 우아한 해결책,하지만 원하는 결과있을 것입니다 ...

관련 문제