一尘不染

PHP:提取括号内文本的最佳方法?

php

提取括号之间的文本集的最佳/最有效方法是什么?假设我想以最有效的方式从字符串“忽略除此(文本)之外的所有内容”中获取字符串“ text”。

到目前为止,我想出的最好的办法是:

$fullString = "ignore everything except this (text)";
$start = strpos('(', $fullString);
$end = strlen($fullString) - strpos(')', $fullString);

$shortString = substr($fullString, $start, $end);

有一个更好的方法吗?我知道通常使用正则表达式的效率通常较低,但是除非我可以减少函数调用的次数,否则这也许是最好的方法?有什么想法吗?


阅读 336

收藏
2020-05-29

共1个答案

一尘不染

我只是做一个正则表达式,并克服它。除非您进行了足够多的迭代以至于成为一个严重的性能问题,否则编写代码会更容易(并且可以回顾一下它的内容)

$text = 'ignore everything except this (text)';
preg_match('#\((.*?)\)#', $text, $match);
print $match[1];
2020-05-29