欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中通过正则查找字符串

程序员文章站 2024-02-19 15:31:40
...
源字符串:
{ "remote": "119.6.126.138", "host": "119.6.126.138", "ipstart": "119.6.126.128", "ipend": "119.6.126.191", "geo": "CN.23.328.117", "buss": "buss=0,alv=0,qos=1,host=0,port=443", "level": 16, "usep2p": 1, "flag": "0", "expect": 3, "actual": 3, "needtest": 0, "curtime": 1381719390, "starttime": 0, "endtime": 0, "cliptime": 6, "timeshift": 168.000000, "dir": "", "cdnpath": "", "liveflv": 1, "livehls": 1, "livep2p": 1, "livertmp": 1, "mustm3u8": 0, "livesftime": 60, "livesfmust": 0, "forcegslb": 1200, "nodelist": [ { "gone": 357, "pool": "SC-CD-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/61.157.126.235\/32\/12\/22\/letv-uts\/ 6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=28aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=357&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=3708493158,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" }, { "gone": 303, "pool": "CQ-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/221.11.29.102\/32\/12\/22\/letv-uts\/6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=65aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=303&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=1033731819,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" }, { "gone": 161, "pool": "HB-WH-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/101.36.100.61\/32\/12\/22\/letv-uts\/6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=72aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=161&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=1033731819,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" } ] }

需求:
红色的字符串出现多次,只选择其第一次的出现。请问,在php中,如何通过正则取到红色字体的内容,谢谢。

回复讨论(解决方案)

你的这个是JSON还是数组?不用正则把,直接访问。

$s='{ "remote": "119.6.126.138", "host": "119.6.126.138", "ipstart": "119.6.126.128", "ipend": "119.6.126.191", "geo": "CN.23.328.117", "buss": "buss=0,alv=0,qos=1,host=0,port=443", "level": 16, "usep2p": 1, "flag": "0", "expect": 3, "actual": 3, "needtest": 0, "curtime": 1381719390, "starttime": 0, "endtime": 0, "cliptime": 6, "timeshift": 168.000000, "dir": "", "cdnpath": "", "liveflv": 1, "livehls": 1, "livep2p": 1, "livertmp": 1, "mustm3u8": 0, "livesftime": 60, "livesfmust": 0, "forcegslb": 1200, "nodelist": [ { "gone": 357, "pool": "SC-CD-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/61.157.126.235\/32\/12\/22\/letv-uts\/6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=28aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=357&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=3708493158,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" }, { "gone": 303, "pool": "CQ-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/221.11.29.102\/32\/12\/22\/letv-uts\/6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=65aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=303&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=1033731819,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" }, { "gone": 161, "pool": "HB-WH-AIPU", "detail": "manual:357,303,161,848,715,843,857", "playlevel": 1, "slicetime": 480, "leavetime": 120, "location": "http:\/\/101.36.100.61\/32\/12\/22\/letv-uts\/6876563-AVC-253672-AAC-31586-1238720-46099352-822ede6ccebd6463bb310a386587246b-1378954284229.letv?crypt=72aa7f2e111&b=297&nlh=3072&nlt=5&bf=30&gn=161&p2p=1&video_type=flv&opck=1&check=0&tm=1382151600&key=ddd14e644e9182037e967fac097ce3da&proxy=1033731819,2071812434&cips=119.6.126.138&geo=CN-23-328-117&lgn=letv&mmsid=3049516&platid=1&splatid=101&playid=0&tss=no&termid=1&hwtype=un&ostype=Windows 7&pay=0&tag=letv&sign=letv&tn=0.05756930820643902&rateid=350" } ] }';$ar=json_decode($s,true);preg_match('#/([^/]+)\?#', $ar['nodelist']['0']['location'],$m);echo $m[1];

你的这个是JSON还是数组?不用正则把,直接访问。
请问,如何直接访问?