String PHP简单字符串操作

String PHP简单字符串操作,string,parsing,String,Parsing,我有一个多行的字符串。对于本例,我的字符串如下所示: Name:Jaxo Description:A person on Stackoverflow Question:$this->questionName(); 我怎样才能得到“描述”?我需要描述之后的所有东西(如“一个在Stackoverflow上的人”)。我尝试过这样的正则表达式,但它不起作用:/^Description:(.+?)\n/I 非常感谢您的帮助 谢谢 -Jaxo应该适合您: if (preg_match('/Descr

我有一个多行的字符串。对于本例,我的字符串如下所示:

Name:Jaxo
Description:A person on Stackoverflow
Question:$this->questionName();
我怎样才能得到“描述”?我需要描述之后的所有东西(如“一个在Stackoverflow上的人”)。我尝试过这样的正则表达式,但它不起作用:
/^Description:(.+?)\n/I

非常感谢您的帮助

谢谢


-Jaxo应该适合您:

if (preg_match('/Description:(.+)/im', $subject, $regs)) {
    $result = $regs[1];
} else {
    $result = "";
}

其中,
$result
是描述名称。

如果标签的每个部分都有换行符分隔,则可能会分解

$array = explode("\n",$string); // separate params
$desc = explode(":",$array[1]); // separate description
通过这种方式,您可以获得任何参数。

尝试以下方法:

$a="Name:Jaxo
Description:A person on Stackoverflow
Question:\$this->questionName();"; 

preg_match("/Description:([^\n]+)/i",$a,$m);
print_r($m);
输出:

Array ( [0] => Description:A person on Stackoverflow [1] => A person on Stackoverflow ) 

非常好,谢谢!!我也将其缩短为:
echo$result=preg_match('/Description:(.+)/im',$subject,$r)?$r[1]:null正确,但如果描述中有分号,则
count($desc)>2
(只是一个规范)。“description”不在字符串开头,您需要删除^。