2012-02-26 1 views
0

문자열이 있습니다. 태그 안에 공백이있는 & nbsp를 모두 바꾸려고합니다. 모두 & nbsp 외부 태그를 교체하지 않아야하지만 기본적으로 수행해야 할 작업은 & nbsp 문자열 앞에 공백없이 "< a"가 있는지 확인하는 것입니다. 이은으로 전환해야 그 다음문자열의 특정 부분을 바꿉니다.

&nbsp<a&nbsphref="#"></a> 

: 나는 문자열을 가지고 예를 들어

&nbsp<a href="#"></a> 

는 & NBSP 문자열이 이전과 경우의 "<"가 있는지 여부를 확인하는 방법이 있나요 그것을 대체합니까? 자바 스크립트 바꾸기 기능을 살펴 봤는데 모든 & nbsp 문자열을 바꾸는 방법을 알고 있지만 특정 문자열을 infront ...로 바꾸는 것만이 아닙니다. 희망 사항이 있으며 아이디어가 있으면 알려주세요. 감사합니다. :)

+0

HTML 구문 분석기 – scibuff

+1

을 사용하십시오. 왜이 엉망진창을 생성하는 코드를 수정하지 않습니까? – epascarello

+0

문제는 div의 텍스트 상자 내용을 표시하기 때문에 문자열의 공백을 변경해야합니다. 그렇지 않으면 브라우저가 여러 공백을 하나로 줄입니다. 예 : "안녕하세요. 포럼!" (점을 제거하십시오)는 "hello forum!"으로 단축됩니다. – user1199434

답변

0

문자열을 제어 할 수있는 경우 Kolink가 설명한 이유 때문에 세미콜론을 포함시켜야합니다.

어느 쪽이든,이 트릭을 할 것입니다 (이 예제에서는 세미콜론을 포함한다) :

var string = "&nbsp;<a&nbsp;href='#'></a>"; 
string.replace("<a&nbsp;","<a "); 

이 문자열의 문구 <a&nbsp;을 찾고 <a으로 대체합니다.

+0

물론, 분명히 분명했습니다. 훌륭하고 빠른 답변을 주신 Purmou에게 감사드립니다! – user1199434

+0

@ user1199434 : 실제로는 작동하지 않았을 것입니다. 내 최신 편집을 참조하십시오. (그리고 제가 도움이된다면, 물론 답을 수락하는 것이 도움이됩니다). – Purag

+0

이것은 실제로 꽤 잘 작동했습니다. 그냥 string.replace ("<  href", " user1199434

0

엔티티는 &nbsp;이며 끝 부분에 세미콜론이 있습니다. 브라우저가 세미콜론을 찾는 것을 원하지 않는다고해서 그것이 선택 사항이라는 것을 의미하지는 않습니다. 그것은 필수이며, 그렇지 않으면 엔티티의 형식이 잘못되어보다 엄격한 브라우저가이를 거부 할 수 있습니다.

그렇다면 문제를 해결하는 데 매우 간단합니다. /<a&nbsp/g"<a "으로 바꿉니다.

+0

팁 주셔서 감사합니다 세미콜론을 추가했습니다 .. – user1199434