Php 获取引号中的文本

Php 获取引号中的文本,php,text,quotes,Php,Text,Quotes,是否有某个函数可以仅从变量的引号中提取文本? 就像: $text = 'I am "pro"'; echo just_text_in_quotes($text); 我知道这个函数不存在。。但我需要这样的东西。 我在考虑fnmatch(“*”,$text) 但这不能只是回显文本,只是为了检查。 你能帮帮我吗? 谢谢。此函数将返回引号之间的第一个匹配文本(可能是空字符串) 您可以修改它以返回一个包含所有匹配项的数组,但在您的示例中,您可以在echoing其返回值的上下文中使用它。如果它返回一个数组

是否有某个函数可以仅从变量的引号中提取文本?
就像:

$text = 'I am "pro"';
echo just_text_in_quotes($text);
我知道这个函数不存在。。但我需要这样的东西。 我在考虑
fnmatch(“*”,$text)
但这不能只是回显文本,只是为了检查。 你能帮帮我吗?
谢谢。

此函数将返回引号之间的第一个匹配文本(可能是空字符串)

您可以修改它以返回一个包含所有匹配项的数组,但在您的示例中,您可以在
echo
ing其返回值的上下文中使用它。如果它返回一个数组,您将得到的只是
array

您最好编写一个更通用的函数来处理多个事件和一个自定义分隔符

function get_delimited($str, $delimiter='"') {
    $escapedDelimiter = preg_quote($delimiter, '/');
    if (preg_match_all('/' . $escapedDelimiter . '(.*?)' . $escapedDelimiter . '/s', $str, $matches)) {
        return $matches[1];
    }
}
如果未找到匹配项,则将返回
null

是为此而创建的

   preg_match('/"(.*?)"/', $str, $quoted_string);
   echo "<pre>"; print_r($quoted_string);
   //return array of all quoted words in $str
preg_匹配(“/”(.*?“/”,$str,$quoted_字符串);
回声“;打印(带引号的字符串);
//返回$str中所有带引号单词的数组
此正则表达式:


正如您在这里看到的,我将帮助您:

谢谢,这正是我所需要的。嗯,我从来没有使用过正则表达式,但似乎在我的项目中我会非常需要它。。。我会尽快接受的。
   preg_match('/"(.*?)"/', $str, $quoted_string);
   echo "<pre>"; print_r($quoted_string);
   //return array of all quoted words in $str
"(\w*)"