我有一些内容包含表单中的 token 字符串
$string_text = '[widget_abc]This is some text. This is some text, etc...';
我想在第一个 ']' 字符之后提取所有文本
所以我在这个例子中寻找的返回值是:
This is some text. This is some text, etc...
最佳答案
preg_match("/^.+?\](.+)$/is" , $string_text, $match);
echo trim($match[1]);
编辑
应作者要求-补充说明:
preg_match(param1, param2, param3) 是一个函数,可让您匹配要查找的正则表达式的单个案例场景
param1 = "/^.+?](.+?)$/is"
"//"是你放在 param1 正则表达式外面的内容
最后的i代表不区分大小写(它不关心你的字母是'a'还是'A')
s - 允许你的脚本跨越多行
^ - 从字符串的开头开始检查
$ - 一直到字符串的末尾
. - 代表任意字符
.+ - 任何事物的至少一个或多个字符
.+? - 在到达之前至少再多一个字符
.+?] - 至少一个或多个字符,直到你到达 ] (在 ] 之前有一个反斜杠,因为它代表正则表达式中的东西 - 查找它)
(.+)$ - 捕获 ] 之后的所有内容并将其作为单独的元素存储在 param3 中定义的数组中
param2 = 您创建的字符串。
我试图简化解释,我可能会偏离,但我认为我在很大程度上是正确的。
关于php - 正则表达式查找分隔字符串后的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5518282/