2012-11-28 4 views
1
으로 시작하는 문자열
$ptn = "/^Response.+?[:] /"; 
$str = "Response from Moore Auto: Thanks for your feedback"; 
$rpltxt = ""; 
echo preg_replace($ptn, $rpltxt, $str); 

"Moore Auto"는 변수 이름이므로 콜론과 스페이스 다음에 텍스트가 필요합니다. 원하는 최종 결과는이 경우 "귀하의 의견에 감사드립니다"라는 문자열입니다. 매우 감사! 이 같은 substr() 간단한PHP 정규식 :

답변

3

:

$str = 'Response from Moore Auto: Thanks for your feedback'; 
echo substr($str, strpos($str,':')+2); //echoes "Thanks for your feedback" 
+0

+를 시도 : 첫 번째 부분에 콜론이 포함되지 않은 경우이 항상 작동합니다. –

+0

매력처럼 작동했습니다. 감사! – user1861037

0

Damiens 솔루션은 하나의 콜론보다가있는 경우, 작동하지 않습니다.

<?php 
$ptn = "/^Response[^:]+:\s*(.*)$/"; 
$str = "Response from Moore Auto: Thanks for your feedback"; 
if (preg_match($ptn, $str, $match)) { 
    $text = $match[1]; 
    echo $text; //Thanks for your feedback 
} 
?> 
0

들이 올바른 도구 없을 때 정규 표현식을 사용하지 않는

<?php 
$ptn = "/^(Response.+[:])(.*?)/"; 
$str = "Response from Moore Auto: Thanks for your feedback"; 
$rpltxt = "$2"; 
echo preg_replace($ptn, $rpltxt, $str); 
?>