PHP回显$ this-> item->链接在href无效 - 显示JObject->链接

时间:2016-02-01 15:25:58

标签: php html web

快速问题,因为我在拉我的声音!

在PHP文件中,我有不同的项目,例如联系方式等。我已经通过$ this-> item->链接显示了一个完美的网址。我只想让url可点击,所以我有以下代码:

{{1}}

此链接不起作用,使用404保留在网站内,网址如下:http://domain.co.uk/JObject-> contactlink

我可以做什么或者我错过了哪些链接可以点击?

亲切的问候 利安

2 个答案:

答案 0 :(得分:1)

你正在遇到一个PHP解析器故障:它不是“贪婪”。在"引用的字符串中使用嵌套对象引用或多维数组仅解析对象或数组的FIRST“维度”作为对象/数组的一部分:

php >  class z { function __toString() { return get_class($this); } }
php > $x = new z();
php > $x->foo = new z();
php > $x->foo->bar = new z();
php > echo "$x // $x->foo // $x->foo->bar";
z // z // z->bar

注意回声最后部分的z->bar。 PHP解析器看到$x->foo并在那里解析STOPPED,将->bar保留为纯文本,而不是对象的一部分。

您需要使用{} - 扩展字符串语法:

php > echo "$x // $x->foo // {$x->foo->bar}";
z // z // z

请注意->bar没有输出。

同样的数组:

$foo['bar']['baz'] = 'qux';
echo "$foo[bar][baz] {$foo['bar']['baz']}";
PHP Notice:  Array to string conversion in php shell code on line 1
Array[baz] qux

请注意$foo['bar']在第一部分中成为单词Array的方式,而qux在第二部分正确输出。

答案 1 :(得分:-1)

尝试:

 <a href="<?php echo $this->item->contactlink; ?>" target='_blank'>
    <?php echo $this->item->contactlink; ?>
 </a> 

或更短的版本:

 <a href="<?= $this->item->contactlink; ?>" target='_blank'>
    <?= $this->item->contactlink; ?>
 </a> 

目标=&#39;新&#39;可能是问题的一部分 - 我相信target = _blank是标准的。不是100%在这个问题上,没有看到你如何构建这个&#39; $ this&#39;。还将HTML元素从html中拉出来有助于清除链接引用。也许链接有额外的报价?