我的文字是这样的;
[name]JAAN JOHN[/name]
[cell]09178656469[/cell]
[city]Dhaka[/city]
我希望使用正则表达式在上述每个[ ]
引号之间获取文本。请原谅我,因为我搜索了很多这个网站,但无法得到我要求的答案。请帮忙!
编辑:
例如,我希望得到如下结果:
Name: JAAN JOHN
Cell #: 09178656469
City: Dhaka
如何获得此结果?
答案 0 :(得分:2)
使用反向引用并从索引2获取匹配的组。在下面的示例代码中,我对cell
标记感兴趣
\[(cell)\](.*?)\[\/\1\]
这是demo
如果您对匹配结束标记的所有标记感兴趣,请尝试
\[(.*?)\](.*?)\[\/\1\]
这是demo
从索引1获取所需的标记名称,从索引2获取值。
示例代码:
$re = "/\\[(.*?)\\](.*?)\\[\\/\\1\\]/";
$str = "[name]JAAN JOHN[/name]\n[cell]09178656469[/cell]\n[city]Dhaka[/city]";
preg_match_all($re, $str, $matches);
答案 1 :(得分:1)
答案 2 :(得分:1)