2014-03-07 4 views
-1

나는 {[email protected]_12}과 같은 문자열을 가지고 있습니다.PHP 정규 표현식에 대해서

여기서 @fname-lname.47은 사용자 이름이고 12은 동적 인 사용자 ID입니다. 문자열 {[email protected]_15}{[email protected]_160}

처럼 될 수있다 그리고 나는

<a href="http://www.example.com/12">@fname-lname.47</a> 
<a href="http://www.example.com/15">@fname.lname</a> 

같은 출력이 사람이 나를 도울 수 줄까? 나는 PHP 정규 표현에 대해 모른다.

답변

0

당신은이 작업을 수행 할 수 있습니다

$string = preg_replace('~{[^@}]+(@[^}]+)_(\d+)}~', 
         '<a href="http://www.example.com/$2">$1</a>', 
         $string); 
+0

는 신속하고 유용한 답변 주셔서 감사합니다. – user3378449

0
preg_match_all('/(@[\w.-]+)/', $string, $m); 
print_r($m[1]); 
1

방법에 대해 :

preg_replace('/\{[^@]+(@[^_]+)_(\d+)\}/', 
      '<a href="http://www.example.com/$2">$1</a>', 
      '{[email protected]_12}'); 
+0

감사합니다. 이것은 유용하고 효과적입니다. – user3378449