【问题标题】:PHP - html image link displayed as textPHP - 显示为文本的 html 图像链接
【发布时间】:2014-06-25 07:59:26
【问题描述】:

我是这方面的新手,所以我会尽量说清楚。

如果用户在客户端提交的不是这样的空,我想显示\输出,使用 php,页面图像链接 html 标记:

<a href="[dynamic from user filed]" title="My facebook">
<img src="images/facebook.png" alt="facebook" /></a>

所以我写了这个,但它总是在 html(客户端)上显示归档数据作为没有所有 html 代码的文本(客户端上没有 html):

<div>
 <?php 
   $Usr_Url = bp_member_profile_data('field=facebook' );
   if ( !empty( $Usr_Url )) {   ?>

    <a href="<?php $Usr_Url; ?>" title="My facebook">
    <img src="images/facebook.png"   alt="facebook" /></a>

  <?php } ?>
 </div>

我想这是安全问题,所以我需要将代码设置为服务器端代码或其他东西,请您给点建议吗?

当前的输出似乎总是用户在 html 上提交的:www.facebook.com/try

*(需要添加我正在检索 buddypress 字段 bp_member_profile_data(filed='filedname') 并且该部分有效)

【问题讨论】:

  • 你需要进一步澄清你的问题,你到底想要什么?
  • 而不是关闭你的 php 并重新打开它,你可以将 放在这之间: echo ' .... ';注意:!empty 表示不为空。
  • I want to display an image link if empty 但您只显示图像不是为空 -> if( !empty($Usr_Url)) {
  • 如果您显示正在生成的 HTML 并检查函数调用的返回值会有所帮助 - 我怀疑答案在于您向我们展示的 sn-p。
  • 请提供 HTML。

标签: php html image output buddypress


【解决方案1】:

你做错了。这样做:

   <?php 
       $Usr_Url = bp_member_profile_data('field=facebook' );
       if ( !empty( $Usr_Url )) 
       {       
       echo "<a href=".$Usr_Url."title='My facebook' <img src='images/facebook.png'   alt='facebook' /></a>";
       }
     ?>

如有错误请评论。

【讨论】:

  • 或简单地将&lt;a href="&lt;?php echo $Usr_Url; ?&gt;" title="My facebook"&gt; 作为@user3773984 之前的代码。
  • 谢谢,我试试。你打算让 标签打开吗?
  • 尝试了第一个建议,但它仍然给出了相同的输出。忽略了我的 html 代码。
  • 请提及使用“@”的人@user3773984
  • @stacky BTW,@ 列表中只有你显示。
【解决方案2】:

如果想从 PHP 代码块中输出文本,您需要使用 echo:

<?php
$Usr_Url = 'http://example.com';
echo '<a href="'.$Usr_Url.'">Example URL</a>';
...    
?>

或者,您可以在 HTML 中混入 PHP 代码块:

<?php $Usr_Url = 'http://example.com'; ?>
<a href="<? echo $Usr_Url?>">Example URL</a>
...

但是,您不能只将 HTML 元素粘贴到您的 PHP 代码块中,因为这会破坏原始帖子中的语法。

要修改你的代码:

<div>
 <?php 
   $Usr_Url = bp_member_profile_data('field=facebook' );
   if ( !empty( $Usr_Url )) { 

    echo '<a href="'.$Usr_Url.'" title="My facebook">';
    echo '<img src="images/facebook.png"   alt="facebook" /></a>';

  } ?>
 </div>

【讨论】:

  • 第二个选项没问题,但如果用户数据为空,它将显示空字段。
  • 尝试了第一个建议,但它仍然给出了相同的输出。忽略了我的 html 代码。
  • 已经在我原来的答案中修改了你的代码 - 这应该真的有效。否则,我怀疑 bp_member_profile_data 调用没有返回任何内容
  • Malcolm,我可以说所有建议在没有 if 的情况下都很好用,但是在插入 if 时,无论如何,图像链接都会创建一个所有 html 都被忽略的情况。有什么建议吗?
【解决方案3】:

你可以试试这个。当 Usr_Url 不为空时显示图像:

<?php 
  $Usr_Url = bp_member_profile_data('field=facebook' );
  if ( $Usr_Url != "" ) { 
  echo '<a href="'. $Usr_Url .'" title="My facebook"><img src="images/facebook.png" alt="facebook" /></a>'; } else { echo '$Usr_Url is empty...'; }
?>

希望对你有帮助:)

【讨论】:

  • 抱歉,修正了我的文字。我试试看。
  • 我注意到它在 chrome 上显示:非常长的字段,两边都有一个 quat:
    " www.facebook.com/try "
  • @user3773984 我刚刚更新了代码 :) 它现在在 Usr_Url 不为空时显示图像。请继续尝试自己:)
  • 对不起,但不工作。我很沮丧。我什么都试过了。似乎在添加问题时开始。当我把它拿出来的时候。
  • @user3773984 我刚刚再次更新了代码。它现在以另一种方式检测 Usr_Url 的“空”。请继续尝试:)
猜你喜欢
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
  • 2017-02-19
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多