我有一个php脚本,该脚本将现有的xml文件转换为与我的Joomla组件兼容的新xml文件格式。直到源xml提供程序将2封电子邮件添加到电子邮件标签(我们的系统仅允许导入其中的一封电子邮件)之前,它一直工作良好。
电子邮件标签当前如下所示:
<emai>jon@abc.com, stan@ghj.com</email>
我需要脚本仅使用第一封电子邮件,但是我不确定如何实现。我在这里找到了一些代码示例,但无法在脚本中使用它们。这是脚本中收集电子邮件值的部分:
//agent
if(isset($business->listingAgent)){
if(is_array($business->listingAgent))
$agent = $business->listingAgent[0];
else
$agent = $business->listingAgent;
if(isset($agent->name))
$agent_name = $agent->name;
if(isset($agent->email)){
if(strpos($agent->email,',')!==false){
$agent_email = explode(',',$agent->email)[0];
}elseif(strpos($agent->email,';')!==false){
$agent_email = explode(';',$agent->email)[0];
}else{
$agent_email = $agent->email;
}
我希望它仅使用第一封电子邮件。相反,它尝试同时导入两者,从而导致失败。
我发现了与substring-before有关的东西,但是当我尝试将其包含在代码中时,它产生了以下错误:
在调用未定义函数before()
我添加的代码(在上面其余代码之前的// Agent下:
$agent_email = substring-before($agent_email, ',');
有人知道我在做什么错吗?
致谢