这可能已经被问过了,如果有的话,我道歉,但我一直在寻找,我不知道如何说出我的问题。
我有这个文字字符串:
$text = "You have received a message. The quote request is from Cade Carrier; and is for these items: Tires: 195 60 15 - Direct Input (2).";
我需要提取的是 Cade Carrier 。我知道客户的名字后面总是会跟一个分号(如上面的示例所示),并且前面总是以开头。引用请求来自(在之后有一个空格) )。
如何从这句话中删除我需要的文字?
答案 0 :(得分:2)
一个简单的正则表达式会:
preg_match('/The quote request is from ([^;]+);/', $text, $match);
echo $match[1];
匹配给定的文本,然后捕获()
任何不是[]
一个或多个分号^
的{{1}}字符+
,直到分号。< / p>
答案 1 :(得分:1)
关于非正则表达式问题,你可以像这样提取
$text = "You have received a message. The quote request is from Cade Carrier; and is for these items: Tires: 195 60 15 - Direct Input (2).";
$text2 = strstr($text, ";", true); // get everything before the first ;
$from = strpos($a, "from ") + 5; // +5 for the 5 chars of "from "
$str = substr($a, $from);
var_dump($str); // string(12) "Cade Carrier"