2011-07-04 2 views
3

이미지를 jquery 또는 javascript를 사용하여 이미지로 바꾸려는 이미지를 삽입하십시오. 예를 들어텍스트를 찾아 삭제 한 다음 jquery 또는 javascript

<div id="log"> 
<p>this is a :) happy face</p> 
<p>this is a :(sad face</p> 
<p>these are :/ x(:P other faces</p> 
</div> 

필자는 몇 가지를 시도했지만 하나 나는 이미지를 렌더링하지 않습니다 전체 문자열 또는 브라우저를 교체 결국 대신이 채팅 애플리케이션 메신저입니다 html로

this is a <img src="happy.png"> face 

를 표시 덤비는 당신이 당신의 코드 thatd 도움말 :

답변

5

에 약간의 설명을 포함 할 수 있습니다, 그래서 만약 상당히 새로운 메신저 것은 (jQuery를 사용하여)처럼 보일 수 :

$('div#log').find('p').html(function(html) { 
    return html.replace(':)', '<img src="happy.png"/>'); 
}); 

분명히 조금 더 정교 해져야합니다. 예를 들어 문자열을 이미지에 연결하는 조회 객체를 상상해 볼 수 있습니다.

+0

+1 좋은 솔루션입니다. ':'또는''/''를 이스케이프 할 필요는 없습니다. 실제로 표현에서 유효하지 않은 이스케이프 문자 시퀀스가있는 경우 어떻게 될지 잘 모르겠습니다. 말 그대로''\''와':'를 매치하려고 할 수 있기 때문에 표현을 "깰"수도 있습니다. –

+0

아주 좋습니다. 코드가 정말 잘 작동하고, 강력한 솔루션이며 많은 감사를드립니다! – POrtia

0

시도해 보셨습니까? 여기

<div id="log"> 
<p id='my'>this is a :) happy face</p> 
<p>this is a :(sad face</p> 
<p>these are :/ x(:P other faces</p> 
</div> 

var p = $('#my').html(); 
var r = p.replace(':)', '<img src="happy.jpg">'); 
$('#my').html(r); 

바이올린 : http://jsfiddle.net/PuDMx/

+0

조금 수정하면 코드가 잘 작동합니다. 단락 태그에 id를 추가하는 대신 p : last selector를 사용했습니다. 단락이 동적으로 추가되고 고유하지 않기 때문에 ID를 얻지 못합니다. – POrtia

관련 문제