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

「Moore Auto」は変数名なので、コロンとスペースの後のテキストが必要なだけです。この場合、望ましい最終結果は「Thanks for your feedback」という文字列になります。とても有難い!

4

3 に答える 3

3

次のように で簡単にsubstr():

$str = 'Response from Moore Auto: Thanks for your feedback';
echo substr($str, strpos($str,':')+2);  //echoes "Thanks for your feedback"
于 2012-11-28T19:31:25.717 に答える
0

複数のコロンがある場合、ダミアンのソリューションは機能しません。最初の部分にコロンが含まれていない場合、これは常に機能するはずです。

<?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
}
?>
于 2012-11-28T19:33:08.927 に答える
0

試す

<?php 
$ptn = "/^(Response.+[:])(.*?)/";
$str = "Response from Moore Auto: Thanks for your feedback";
$rpltxt = "$2";
echo preg_replace($ptn, $rpltxt, $str);
?>
于 2012-11-28T19:33:10.043 に答える