2013-09-30 3 views
-1

ereg replace가 감가 상각되었으므로 대신 preg을 사용하는 방법을 알고 싶습니다. 다음은 내 코드이며 {} 태그를 대체해야합니다.PHP ereg 대신 preg replace를 사용 하시겠습니까?

$template = ereg_replace('{USERNAME}', $info['username'], $template); 
    $template = ereg_replace('{EMAIL}', $info['email'], $template); 
    $template = ereg_replace('{KEY}', $info['key'], $template); 
    $template = ereg_replace('{SITEPATH}','http://somelinkhere.com', $template); 

난 그냥 preg 바꾸기로 전환하면 작동하지 않습니다.

답변

2

str_replace()을 사용하는 이유는 무엇입니까? 이처럼

, 와우 : 마법처럼

<?php 
$template = str_replace('{USERNAME}', $info['username'], $template); 
$template = str_replace('{EMAIL}', $info['email'], $template); 
$template = str_replace('{KEY}', $info['key'], $template); 
$template = str_replace('{SITEPATH}','http://somelinkhere.com', $template); 
?> 

작품.

+0

감사 남자 그래서 해결책 : 감사로 표시 완벽하게 – user2802518

+0

user2802518 @ 작품! –

0

어떻게 ereg_replace가 작동하는지 모르지만 preg_replace가 정규식을 작동합니다.

당신이 "{"와 "}"바꾸려면

올바른 방법은 다음과 같습니다

$template = preg_replace("/({|})/", "", $template); 
// if $template == "asd{asdasd}asda{ds}{{" 
// the output will be "asdasdasdasdads" 

을 지금, 당신은 어디에 "{"와 "}"대체하려는 경우 당신이 실행해야 그 안에서 특정 일입니다

$user = "whatever"; 
$template = preg_replace("/{($user)}/", "$0", $template); 
// if $template == "asd{whatever}asda{ds}" 
// the output will be "asdwhateverasda{ds}" 

당신 "은"을 "Z"

만 문자와 문자열이 될 수있는 일에 "{"와 "}"바꾸려면

당신은 사용해야합니다!

$template = preg_replace("/{([a-Z]*)}/", "$0", $template); 
// if $template == "asd{whatever}asda{ds}{}{{{}" 
// the output will be "asdwhateverasdads{}{{{}" 
+0

"정규식과 정규 표현식에서 작동합니다." --- 뭐? – zerkms

+0

preg_replace가 정규 표현식 모듈을 사용하므로 정규 표현식을 사용하여 검색해야한다고 설명하려고했습니다. –

+0

"정규식 모듈"이란 무엇입니까? – zerkms

관련 문제