Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP中包含括号的字符串中提取文本_Php_String - Fatal编程技术网

从PHP中包含括号的字符串中提取文本

从PHP中包含括号的字符串中提取文本,php,string,Php,String,我有一个字符串,其状态名称和代码如下 KT16(Ottershaw) 现在我需要从()中提取文本。我需要拔出水獭。如何使用php实现这一点。以下正则表达式应该可以工作: /\[(.*?)\]/ 应该是: preg_match('/\(([^\)]*)\)/', 'KT16(Ottershaw)', $matches); echo $matches[1]; 只需获取第一个打开括号和最后一个关闭括号之间的子字符串: $string = "KT16(Ottershaw)"; $strResul

我有一个字符串,其状态名称和代码如下

KT16(Ottershaw)

现在我需要从
()
中提取文本。我需要拔出水獭。如何使用php实现这一点。

以下正则表达式应该可以工作:

/\[(.*?)\]/ 
应该是:

preg_match('/\(([^\)]*)\)/', 'KT16(Ottershaw)', $matches);
echo $matches[1];

只需获取第一个打开括号和最后一个关闭括号之间的子字符串:

$string = "KT16(Ottershaw)";
$strResult = substr($string, stripos($string, "(") +1,strrpos($string, ")") - stripos($string, "(")-1);  

这是一个示例代码,用于提取“[”和“]”之间的所有文本,并将其存储在两个单独的数组中(即一个数组中括号内的文本和另一个数组中括号外的文本)

提取文本(“你好[http://www.google.com/test.mp3]你好吗;将产生

array(2) {
  [0]=>
  string(6) "hello "
  [1]=>
  string(13) " how are you?"
}


array(1) {
  [0]=>
  string(30) "http://www.google.com/test.mp3"
}

重复的?是的,不是所有的问题都需要一个regexNo。它还与
$string=“KT16(Otte(rshaw))”一起工作关于
$string=“KT16(Otte)测试(rshaw)”的内容?我仍然会给你+1的想法:现在我明白你的意思了。。。是的,你是对的,但这不是问题。我想即使字符串中还有更多的括号,也能得到它会很好。谢谢你的快速回答。Regex很棒我喜欢这种方式
array(1) {
  [0]=>
  string(18) "hello how are you?"
}

array(0) {
}
array(2) {
  [0]=>
  string(6) "hello "
  [1]=>
  string(13) " how are you?"
}


array(1) {
  [0]=>
  string(30) "http://www.google.com/test.mp3"
}