Php 带有';及;

Php 带有';及;,php,string,variables,shortcode,Php,String,Variables,Shortcode,在php中,我有一个使用atts的短代码变量: $ret = '<a href="http://twitter.com/intent/tweet?text=[slshar text="title"]&url=[slshar text="url"]">Link</a>'; $ret=''; 我不知道如何管理这个变量中“title”和“url”的短代码中的“and”。 我试过:\'title\'=>不起作用 [slshar text=“title”]=“第二篇文章

在php中,我有一个使用atts的短代码变量:

$ret = '<a href="http://twitter.com/intent/tweet?text=[slshar text="title"]&url=[slshar text="url"]">Link</a>';
$ret='';
我不知道如何管理这个变量中“title”和“url”的短代码中的“and”。
我试过:\'title\'=>不起作用

[slshar text=“title”]=“第二篇文章的标题”=“第二篇文章的标题”
[slshar text=“url”]=“第二篇文章的鼻涕虫””=“https//pur plan.com/post2“

结果必须是:
$ret=”;

我测试了shorcode:一切正常,返回的值正常。
使用此语法,返回的URL在“”text=“”之后被截断。这是正常的,因为“

我希望我的解释足以帮助我。

你能帮我修一下吗。
问候,

布鲁诺

谢谢你的回答。
我用下面的解决方案和一些css来设计按钮,解决了这个问题。
如果您在存档中自定义一个循环(以Elementor Custom Skin为例),此代码将显示在twitter和facebook上共享帖子的链接

add_shortcode( 'social-sharing-inf', function ( $atts) {
    extract(shortcode_atts(array(
        'inf'   => '',
    ), $atts));
    global $post;
    switch ( $inf ) {
        case 'twitter' :
            $ret  = '<a href="http://twitter.com/intent/tweet?text=';
            $ret .= 'PUR-PLAN.com vous propose la bonne affaire suivante :%0D' . $post->post_title .'%0DCliquez sur le lien suivant pour y accéder :';
            $ret .= '&url=https://pur-plan.com/' . $post->post_name;
            $ret .= '" onclick="window.open(this.href, \'twitterwindow\',\'left=20,top=20,width=600,height=300,toolbar=0,resizable=1\'); return false;" ';
            $ret .= 'class="share-button-twitter-a"><i class="fa fa-twitter"></i>Twitter</a>';
        break;
        case 'facebook' :
            $ret  = '<a href="https://www.facebook.com/sharer.php?u=https://pur-plan.com/' . $post->post_name;
            $ret .= '" onclick="window.open(this.href, \'facebookwindow\',\'left=20,top=20,width=600,height=700,toolbar=0,resizable=1\'); return false;" ';
            $ret .= 'class="share-button-facebook-a"><i class="fa fa-facebook"></i>facebook </a>';
        break;
    }
    wp_reset_postdata();
    return "$ret";
});
添加快捷码('social sharing inf',函数($atts){
提取(短码)附件(数组)(
'inf'=>'',
)美元(附件);;
全球$员额;
交换机($inf){
“推特”案例:
$ret='';
打破
“facebook”案例:
$ret='';
打破
}
wp_reset_postdata();
返回“$ret”;
});
我打电话的快捷码是:[social sharing inf=“twitter”]和[social sharing inf=“facebook”]
当然,这段代码可以优化,但效果很好。

如果你有什么改进,我就要了

服务器端的文本和url变量中包含了什么?什么是“不工作”?这些短代码应该被实际值替换,还是您试图将这些短代码作为URL参数传输?如果是前者:在哪里/何时/如何更换?如果是后者:您需要对这些值进行URL编码,因为您正试图在URL中传输它们,然后HTML将整个URL编码,因为您正试图将其转换为HTML。您必须将短代码与URL分开转换为值,例如:
$title='[slshar text=“title”]$title=shortcode_magic($title)然后URL编码,然后将其放入URL。这两个字符串如何关联?