2012-10-26 10 views
0

나는 HREF을 대체하기 위해 노력하고있는 단축 코드 구조에 의해 A HREF 태그를 교체하고 다음 코드가 : 그와 <a href="http://www.mysite.com" target="_blank">My site</a>preg_replace이다

<a href="" http:="" www.mysite.com''="" target="_blank">My site</a>

:

[url='http://www.mysite.com']My site[/url] 

문제는 출력이 무엇인가라는 것이다 :이 구조

내가 뭘 잘못하고있어? 도와 주셔서 감사합니다!

답변

1
echo preg_replace('/(?:\<a\s+.*href=\"([^\"]*)"[^\>]*\>([^\<]*)\<\/a\>)/', '[url=\'\\1\']\\2[/url]', $text); 

가정 :

$text = 'Bla bla bla <a href="http://www.mysite.com" target="_blank">My site</a> bla bla bla'; 

결과 :

Bla bla bla [url='http://www.mysite.com']My site[/url] bla bla bla 

편집 아래 OP의 의견에 따르면

방금해야 할 당신의 HTML을 다시 얻고 싶다면 this :

가정 (210)
echo preg_replace('/(?:\[url=\'([^\']*)\'\]([^\[]*)\[\/url\])/', '<a href="\\1" target="_blank">\\2</a>', $parsed); 

:

$parsed = 'Bla bla bla [url=\'http://www.mysite.com\']My site[/url] bla bla bla'; 

결과 : 매우

Bla bla bla <a href="http://www.mysite.com" target="_blank">My site</a> bla bla bla 
+0

감사를! 그것은 매력처럼 작동하지만 또 다른 작은 질문 : 만약 내가 지금 되돌리기를 원한다면 [url = '...'target = _ "blank"] ... [/ url]을 My site user990463

+0

@user990463 완료! – Carlos

+0

당신은 남자입니다! 이걸 고마워, 제게 많은 도움이됩니다! ;) – user990463