在href中使用php变量

时间:2017-03-17 10:05:13

标签: php

我正在为我正在工作的网站创建一个Twitter分享按钮。我想要一些预先设置的共享文本,我想用php加载。我正在与variables中的href进行斗争。

我在一个文档中提供了共享按钮的html代码。

<div class="row">
  <div class="col-md-offset-2 col-md-2">
      <a href="<?php echo $twitter ?>">
          <div class="socials twitter">
          </div>
      </a>
  </div>
  <div class="col-md-2">
      <a href="<?php echo $facebook ?>">
          <div class="socials facebook">
          </div>
      </a>
  </div>
  <div class="col-md-2">
      <a href="<?php echo $youtube ?>">
          <div class="socials youtube">
          </div>
      </a>
  </div>
  <div class="col-md-2">
      <a href="<?php echo $instagram ?>">
          <div class="socials instagram">
          </div>
      </a>
  </div>
</div>

我导入了index.php中我想要社交按钮的部分:

<?php 
  $twitter= file_get_contents('attributes/twitter-share-currentBand.php');
  $facebook='';
  $youtube='';
  $instagram='';
  include 'partials/socials.php'; 
?>

我在twitter变量中调用的文件如下所示:

https://twitter.com/intent/tweet?text=Bekijk%20<?php echo $bandName ?>%20op%20<?php echo $currentURL ?>!

我在本文档中使用的变量是在index.php中设置的。问题是php代码显示为文本而不显示变量。这是我从中得到的网址:

https://twitter.com/intent/tweet?text=Bekijk%20%3C?php%20echo%20$bandName%20?%3E%20op%20%3C?php%20echo%20$currentURL%20?%3E!

编辑1

我现在正在使用

$twitter= include('attributes/twitter-share-currentBand.php');

这是有效的。新问题是包含在正确的地方不会加载。如果我查看页面的源代码,这就是代码的外观。

 https://twitter.com/intent/tweet?text=Bekijk%20Something like Sunshine%20op%20!
 <div class="row segment-sub mod-block">
   <div class="col-md-offset-2 col-md-2">
      <a href="1">
          <div class="socials twitter">
          </div>
      </a>
   </div>
 </div>

2 个答案:

答案 0 :(得分:1)

you can write like in php

<?php 
$url = 'https://www.w3schools.com/php/';
?>

<a href="<?php echo $url;?>">PHP 5 Tutorial</a>

Or for PHP 5.4+ (<?= is the PHP short echo tag):
<a href="<?= $url ?>">PHP 5 Tutorial</a>

or 
echo '<a href="' . $url . '">PHP 5 Tutorial</a>';

答案 1 :(得分:0)

您不应该将文件内容读取到变量中。你应该include文件。在代码中添加了评论

ob_start(); //start output buffering
// no include your file this actually outputs the parsed variable and you
// capture it in optput buffer
include('attributes/twitter-share-currentBand.php');
$twitter= ob_get_clean(); //store the output to the variable and stop output buffering.

file_get_contents按原样读取文件的内容,并在实际需要解析后的$twitter

值时放入变量attributes/twitter-share-currentBand.php

您应该使用输出缓冲,因为attributes/twitter-share-currentBand.php实际上输出了您在变量中存储所需的值。

注意:在包含文件之前,应初始化$bandName$currentURL

编辑:或者,您可以直接包含文件,而不是将输出存储到变量中。喜欢以下。

<div class="col-md-offset-2 col-md-2">
    <a href="<?php include('attributes/twitter-share-currentBand.php') ?>">
        <div class="socials twitter">
        </div>
    </a>
</div>