TLF에 링크를 삽입하려고합니다. 일반적으로 당신은 단순히 단순히여러 XML 태그에 걸쳐 문자열 일치 색인에 대한 정규식
var linkElement:LinkElement = textArea.textFlow.interactionManager.applyLink(...);
문제를 사용하는 것, 즉 내가 그것을 완전히 완전히, 단락과 목록 항목에 걸쳐 금지 다르게 서식있는 텍스트 (굵게, 기울임 꼴 등), 또는 하늘을 가로 질러 걸쳐있는 링크를 만드는 경우 충돌 및 화상. 링크 형식이 완전히 손실되고 목록 구조가 무너집니다.
addChild()를 통해 LinkElement를 추가하는 것만으로도 텍스트의 서식과 구조를 유지할 수 없습니다.
interactionManager.cutTextScrap (...)으로 selection의 textFlow를 추출하고 interactionManager.applyLink (...)로 LinkElement에 래핑 한 다음 다시 붙여 넣어 ... 또한 엉망으로 만듭니다. .
그래서 내 자신의 링크 삽입 루틴을 만들어야합니다.
1) 캐릭터
2) TextFlow의 문자열
내에서 선택의 시작과 끝 인덱스를 찾기 위해 TextFlow의 태그를 변환 : 내가하기로 결심했습니다 무엇
은에있다 3) 개시 인덱스에서 다음 문자열을 삽입 :
</span><a href="[hrefVar]" target="[targetVar]"><span>
4) 종료 인덱스에서 다음 문자열을 삽입 :
</span></a><span>
5) 텍스트 영역
그리고 짜잔에 대한 TextFlow 객체로 TextFlow의 문자열을 다시 변환! 인스턴트 RTF 링크!
유일한 문제는 ... 어떻게 결과가 여러 태그에 걸쳐 퍼질 수 있는지 XML 마크 업 내에서 문자열 일치에 대한 시작 및 끝 인덱스를 찾을 수있는 정규식 분석 구문을 작성하는 것입니다. TextFlow를 경우 예를 들어
(약칭 함) :
<TextFlow><p><span>Lorem Ip</span><span fontWeight="bold">sum do</span><span>
lor sit am</span><span fontStyle="italic">et, consectetur adipiscing elit.
</span></p></TextFlow>
말, 예를 들어, 사용자가 선택한 "Ipsum 제품의 슬픔은 AMET 앉아"링크로 변환 할 수 있습니다.
<TextFlow><p><span>Lorem </span><a href="http://www.google.ca" target="_blank">
<span>Ip</span><span fontWeight="bold">sum do</span><span>lor sit am</span>
<span fontStyle="italic">et</span></a><span>, consectetur adipiscing elit.
</span></p></TextFlow>
: 최종 결과는 다음과 같습니다 그래서 나는 위의 3에 표시된 문자열) & 4)를 삽입 한 다음 해당 RTF 마크 업 내에서 "AMET 앉아 Ipsum 제품의 슬픔", 그리고 첫 번째와 마지막 인덱스를 찾을 필요
은 서식 스타일을 일부 잃어 버릴 수 있지만 나중에 텍스트 서식을 구문 분석하여 수정할 수 있습니다.
내가 무엇이 필요한지 2 단계를 수행 할 정규 표현식입니다.
태그 사이의 텍스트를 제거하고 제거 된 textflow 텍스트에서 선택한 텍스트의 문자열 일치를 찾는 방법을 알고 있지만 원본 내에서 일치 인덱스를 찾는 방법은 알지 못합니다. unstripped) textflow 문자열입니다.
누구나?