简体   繁体   English

从 file_get_contents 中提取数据

[英]extract data from file_get_contents

I have used webex data to display the meeting in my website however I am getting an issue with returning the data.我已使用 webex 数据在我的网站上显示会议,但是在返回数据时遇到了问题。

$sitename = "sitename";       
$username = "api@webex.com";
$password = "password!";

$XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$XML .="<serv:message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">";
$XML .="        <header>";
$XML .="                <securityContext>";
$XML .="                        <webExID>$username</webExID>";
$XML .="                        <password>$password</password>";
$XML .="                        <siteName>$sitename</siteName>";

$XML .="                </securityContext>";
$XML .="        </header>";
$XML .="        <body>";
$XML .="                <bodyContent xsi:type=\"java:com.webex.service.binding.meeting.GetjoinurlMeeting\">";
$XML .="                <meetingKey>1460755337</meetingKey>";
$XML .="                </bodyContent>";
$XML .="        </body>";
$XML .="</serv:message>";

$request = stream_context_create(array("http"=>array("method"=>"POST","header"=>"Content-Type:text/xml","content"=>$XML)));

$response = file_get_contents("https://$sitename.webex.com/WBXService/XMLService", true, $request);

Actual XML response实际 XML 响应在此处输入图像描述 and I am getting a response as follow after passing header request在通过 header 请求后,我得到如下响应

SUCCESSPRIMARYfalsefalseC!sco123falsefalseMeeting 13 jjb87@miami.edufalse1myemail@gmail.commyemail@gmail.comPERSONALmyemail@gmail.comVISITOR1097099526INVITE1467275084ENGLISHATTENDEE1truetruetruetruetruetruetruetruetruetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruetruetruefalsefalsetruefalsetruefalsefalsetruetruefalsefalsefalsetruefalsefalsetruefalsefalsefalsefalsefalsefalsefalsetruefalsefalsefalsetruefalsefalsefalsetruetruetrue07/10/2020 12:00:004GMT-08:00, Pacific (San Jose)20900rachel@modiht.comfalsefalse000falsefalsefalseCALLBACK50falsefalseUS+1-415-655-00011-844-621-3956falsefalseNO_REPEATtruerachel@modiht.comtruefalse0015falsefalsefalse0falsefalse146727508475c9ca6757090f047a57136a85ee09cbNOT_INPROGRESSfalsefalsefalse50223710221954770ec6374b4ace66655ed33b7bcf0a9ac61019001truehttps://api.webex.com/modiht/j.php?MTID=m32de914bf4153f200c60e1ad420376ed1467275084@api.webex.com1467275084@api.webex.com

so My question is how can I get the last one 1467275084@api.webex.com from the response所以我的问题是如何从响应中获取最后一个1467275084@api.webex.com

please help me out on this.请帮我解决这个问题。

Ok I did it with the preg match here is the answer to my question好的,我在预赛中做到了,这是我问题的答案

$emails = getLastEmailFromString($response);
$arrEmail = implode("\n", $emails);
$lastEMail = end( $emails);
return $lastEMail;

function getLastEmailFromString($string){
  preg_match_all("/[\._a-zA-Z0-9-]+@[\.api.webex.com-]+/i", $string, $matches);
  return $matches[0];
}

the file() method returns the results as an array, which may be more suited for your needs here. file()方法将结果作为数组返回,这可能更适合您的需求。

$response = file("https://$sitename.webex.com/WBXService/XMLService", true, $request);
$lastLine = $response[count($response)-1];

https://www.php.net/manual/en/function.file.php https://www.php.net/manual/en/function.file.php

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM