Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更换'&';与'&';在PHP字符串中_Php_Xml_Rss - Fatal编程技术网

更换'&';与'&';在PHP字符串中

更换'&';与'&';在PHP字符串中,php,xml,rss,Php,Xml,Rss,我需要将字符串中的&转换为&在php中。我有一个函数可以将一些自定义数据拉入RSS提要。在本例中,它是一个类似于http://google.com?something=here&somethingelse=here&somethingelse=there 问题在于,输入中显示的是电流互感器,它没有转换为&因此,当我尝试使用simplepie获取提要时,它会抛出一个错误此XML文档无效,可能是由于无效字符。XML错误:格式不正确(无效令牌) 这是我必须向提要添加自定义数据的函数:

我需要将字符串中的
&
转换为
&在php中。我有一个函数可以将一些自定义数据拉入RSS提要。在本例中,它是一个类似于
http://google.com?something=here&somethingelse=here&somethingelse=there

问题在于,输入中显示的是电流互感器,它没有转换为
&因此,当我尝试使用simplepie获取提要时,它会抛出一个错误
此XML文档无效,可能是由于无效字符。XML错误:格式不正确(无效令牌)

这是我必须向提要添加自定义数据的函数:

/** Add ACF fields to RSS **/
add_action('rss2_item', 'cupusa_rss2_item');
function cupusa_rss2_item() {
    global $post;

    $memberEvent_link = get_field('member_event_link', $post->ID);

    $output = '';
    if( $post->post_type == 'jobs' ) {
        $job_link_url = get_field('job_link', $post->ID);

            $output .= "<job_link>{$job_link_url}</job_link>";

    }

    if($memberEvent_link){
        $output .= "<member_event_link>{$memberEvent_link}</member_event_link>";
    }

    echo $output;
}
/**将ACF字段添加到RSS**/
添加行动(“rss2项目”、“cupusa项目”);
功能cupusa_rss2_项目(){
全球$员额;
$memberEvent\u link=get\u字段($memberEvent\u link',$post->ID);
$output='';
如果($post->post_type=='jobs'){
$job\u link\u url=get\u字段($job\u link',$post->ID);
$output.=“{$job\u link\u url}”;
}
if($memberEvent\u链接){
$output.=“{$memberEvent\u link}”;
}
echo$输出;
}
当使用simplepie时,它正在拉取此
http://google.com?something=here&somethingelse=here&somethingelse=there
当它应该是这样的适当xml时
http://google.com?something=here&somethingelse=这里&;somethingelse=那里

所以我的问题是如何修改上面的函数,将
&
转换为
&用于
$job\u link\u url
变量?有时链接可能有&有时可能没有。

将转换XML中具有特殊含义的所有字符

$job_link_url = get_field('job_link', $post->ID);
$xml_safe_job_link_url = htmlspecialchars($job_link_url, ENT_XML1 | ENT_QUOTES);
将转换XML中具有特殊含义的所有字符

$job_link_url = get_field('job_link', $post->ID);
$xml_safe_job_link_url = htmlspecialchars($job_link_url, ENT_XML1 | ENT_QUOTES);

此外,如果您想在URL中使用
&
,PHP会为您提供帮助。此外,如果您想在URL中使用
&
,PHP会为您提供帮助。