2011-08-14 6 views
5

$imgs 속으로DOM, PHP에서 img 객체에 클래스를 추가하는 방법은 무엇입니까? 여기

$doc = new DOMDocument(); 
$doc->loadHTML($article_header); 

$imgs = $doc->getElementsByTagName('img'); 
foreach ($imgs as $img) { 

는 DOM의 img 태그를가는 코드의 조각이다. 이제 원래의 img 태그에 클래스를 추가하여 원본 img 태그를 변경하려고합니다. $article_header이 있다면

SO : 이제

"some text"...<img src = 'http://some_source'>...some text... 

을 나는이되고 싶어 :

"some text"...<img class = 'someclass' src = 'http://some_source'>...some text... 

UPDATE 내가 반복

합니다. 시작 변수는 $article_header입니다. 그래서 모든 변경 작업을 수행해야합니다.

내 코드를 사용하여을 통해 img 태그를 검색하여 일부 변수에 넣은 다음 변경합니다. 확인하지만 변경 사항을 모두 $article_header ??? $img->setAttribute('class', 'someclass');를 호출하여 foreach 루프에서 http://php.net/manual/en/domelement.setattribute.php

+0

읽기 setAttribute 함수 –

+0

그냥 CSS를 사용하는 간단한 솔루션 일 것 같아요. 당신이 필요한 모든 것을 우리에게 보여줄 수 있습니까? – Chronial

+0

이제 CSS로 처리하는 것이 다소 복잡하다고 생각합니다. 나는 그것에 tinymce 및 사용자가 이미지를 삽입 할 때 작은 게시물을 PHP로, 내가 나중에 어떤 결과를 볼 때 어떤 클래스를 가질 이미지가 필요합니다 자바 스크립트는 이미지 클릭 타겟팅 클래스에서 일부 이미지 갤러리를 발생시킬 수 있습니다. – David

답변

10

:

+0

좋아요. $에 클래스를 추가합니다. img하지만 문제는 $ article_header가 동일하게 유지됩니다. 거기에 물건을 바꾸는 방법? – David

+0

나는 그 부분을 추가하기 위해 나의 대답을 편집했다. 두 번째 부분은 foreach 외부에서 수행되어야합니다. 그렇지 않으면 약간 낭비입니다. 노력하고 있습니다 – Seldaek

+0

... – David

7

해당 요소가 이미 설정된 클래스는이처럼 DOMElement::setAttribute()를 사용할 수가 없습니다 것을 알고있는 경우 : 당신이 확실하지 않은 경우 요소가 이미 클래스 세트가있을 수 있습니다 경우

$img->setAttribute('class','someClass'); 

, 당신이해야 먼저 getAttribute()를 수행 한 다음 클래스 목록에 클래스를 추가하십시오.

관련 문제