php
  • image
  • 2009-10-16 4 views 1 likes 
    1

    현재 이미지 코드 자체가PHP는 - 이미지에 빈 ALT 태그를 대체하는 방법

    <img src="images/example.jpg" alt="" /> 
    

    어떻게 같은 이미지를 대체 할 것이라고 alt=""이없는 img src 경우 지금

    <img src="images/example.jpg" /> 
    

    처럼 보인다 PHP로 할 수 있을까요? 나는 당신의 동기에 의문을 제기 것이다, 그러나

    $search = '/<img src="([^"]+)" \/>/'; 
    $replace = '<img src="$1" alt="" />'; 
    $code = preg_replace($search, $replace, $code); 
    

    : 이미지는 항상, 그 형식을 따라야 가정

    답변

    1

    여기 SimpleXML을 함께이 일의 예 : ... 10 라이너 정도 ...

    행운을해야합니다.

    <?xml version="1.0"?> 
    <html> 
        <body> 
         <img src="foo.jpg" alt=""/> 
        </body> 
    </html> 
    
    +0

    나는 시험을하고 일하고 .. 오늘 새로운 것을 배웠다. Ben James에게 감사드립니다. XML 버전 = "1.0"을 삭제할 수 있습니까? – wow

    +1

    SimpleXML이 올바른 XML을 출력하기 때문에 추가를 막을 수 있는지 확실하지 않습니다. 따라서 XHTML을 사용하지 않으려는 경우 문제가 될 수 있습니다. 그러나 필터를 쉽게 제거하여 제거 할 수 있습니다. –

    +1

    물론 XHTML을 사용하고 있다면 XHTML을 제거 할 필요가 없습니다. –

    4

    가장 빠른 해결책은 이것이다. 빈 alt 태그를 추가하는 것은 꽤 의미가 없습니다.

    +3

    을하지만, ALT 태그는 올바른 것에 대해 knittl하는 빈 – knittl

    +1

    1 인 경우의 HTML에도 표준에 따라 필요하지만, 검증 만 질문 :

    <?php $html = '<html> <body> <img src="foo.jpg" /> </body> </html>'; $xml = new SimpleXMLElement($html); foreach ($xml->xpath('//img') as $img) { if (!array_key_exists('alt', $img->attributes())) { $img->addAttribute('alt', ''); } } echo $xml->asXML(); 

    출력 될 것입니다 모든 브라우저가 없으면 alt 텍스트로 빈 문자열을 가정합니다. –

    +0

    +1 ... 조금 정적이지만 우아한 ...;) – back2dos

    0

    유효한 XML 인 경우 괜찮은 XML 파서 (예 : SimpleXML)를 사용하고, 소스를 비 정렬하고, 이미지 태그를 찾는 트리를 탐색하고, 속성을 조회하여 존재하지 않는 경우 설정하고, remarshall는 XML ...

    관련 문제