2013-11-03 1 views
0

Wordpress에서 내 게시물의 내용은 큰 마크 업입니다. MS Word에서 나오므로 HTML 중첩 태그 및 인라인 스타일로 감싼 텍스트입니다.

콘텐츠에서 여러 번 반복되는 코드 세그먼트가 있습니다 (텍스트 각주를 나타냄). 예를 들어 첫 번째 각주에 대한이 부분은 다음과 같습니다

href="file:///C:/Users/hp/Desktop/file.docx#_ftn1" 

href="file:///C:/Users/hp/Desktop/file.docx#_ftnref1" 

에 : 그래서 사용자가 이동할 수있는

href="#_ftn1" 

href="#_ftnref1" 

<sup><a title="" href="file:///C:/Users/hp/Desktop/file.docx#_ftn1" name="_f 
tnref1"> 
<span class="MsoFootnoteReference"> 
    <span dir="LTR"> 
    <span class="MsoFootnoteReference"> 
    <span lang="EN-US" style="font-size: 16pt; line-height: 115%;"> 
    [1] 
    </span> 
    </span> 
    </span> 
</span> 
</a></sup> 
..... 

<a title="" href="file:///C:/Users/hp/Desktop/file.docx#_ftnref1" name="_ftn1"> 
<span class="MsoFootnoteReference"> 
    <span dir="LTR" lang="EN-US" style="font-size: 12.0pt; font-family: 'Simplified Arabic','serif';"> 
    <span class="MsoFootnoteReference"> 
    <span lang="EN-US" style="font-size: 12pt; line-height: 115%;"> 
    [1] 
    </span> 
    </span> 
    </span> 
</span> 
</a> 

내 목표에서 2 명하는 HREF를 변경하는 것입니다 하나의 앵커에서 다른 앵커로.

내가 사용하고있는 코드는 다음과 같습니다

if(preg_match_all('/href\s*=\s*"[^"]+(#[^"]+)"/',get_the_content(),$match)) 
{ 

echo preg_replace('/href\s*=\s*"[^"]+(#[^"]+)"/','href=""', get_the_content()); 
} 

이 당신의 귀중한 도움을 사전에 대단히 감사합니다.

+0

HTML은 정규식으로 표현할 수 없습니다. BeautifulSoup/libhtml5와 같은 강력한 HTML DOM 파서/프로세서를 Python 용으로 사용하십시오. –

답변

1

해결책을 찾았습니다. 시간 내 주셔서 감사합니다.

if(preg_match_all('/href\s*=\s*"[^"]+(#[^"]+)"/',get_the_content(),$match)) 
    { 
    echo preg_replace('/href\s*=\s*"[^"]+(#[^"]+)"/','href="$1"', get_the_content()); 
    } 
관련 문제