快速问题,因为我在拉我的声音!
在PHP文件中,我有不同的项目,例如联系方式等。我已经通过$ this-> item->链接显示了一个完美的网址。我只想让url可点击,所以我有以下代码:
{{1}}
此链接不起作用,使用404保留在网站内,网址如下:http://domain.co.uk/JObject-> contactlink
我可以做什么或者我错过了哪些链接可以点击?
亲切的问候 利安
答案 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中拉出来有助于清除链接引用。也许链接有额外的报价?