如果函数存在简写,则为PHP + HTML

时间:2013-08-31 07:16:15

标签: php html

我正在尝试使用PHP函数创建一个<a>标记,该函数返回带有html的图像源。

我的代码目前是:

if (returnString('image')) : echo '<img src="'.returnString('image').'" />'; endif;

我的预期最终输出是:

<img src="http://..." />

但它只返回这个:

"http://..."

这只是字符串。为什么会这样?

编辑:我实际上想补充一点我想检查函数是否存在(如果它的null应该有任何回显),这就是为什么我有{{1在开始时。

如果我不检查这样的功能,它可以工作:

if

4 个答案:

答案 0 :(得分:2)

此处您不需要:endif

试试这个:

if (returnString('image')) echo '<img src="'.returnString('image').'" />'; 

或者,您可以将返回值存储在变量中(如上面建议的mplungjan)并在代码中使用它(更易读,IMO)。这样,您可以避免两次调用函数。

$src = returnString('image');
if (isset($src)) echo '<img src="'.$src.'" />'; 
  

我实际上想补充说我想检查函数是否存在,这就是为什么我在开始时有if。

有一个内置函数,完全出于同样的目的 - function_exists()

您可以执行以下操作:

if (function_exists('returnString')) {
    $src = returnString('image');
    echo '<img src="'.$src.'"/>';
}

希望这有帮助!

答案 1 :(得分:1)

$str = returnString('image');
if (isset($str)) echo '<img src="'.$str.'" />'; 

答案 2 :(得分:0)

试试这个: -

<?PHP 
$s="http://www.sagmart.com/image/logoes.png";

if($s) {
echo '<img src="'.$s.'" />';
}
?>

我不知道你的returnString('image')所以我使用了新的变量。

删除最后一个endif。

答案 3 :(得分:0)

你说当你这样做时它会起作用:

echo '<img src="'; returnString('image'); echo '" />';

此代码包含3个部分。第一个是echo并打印<img src="returnString()功能显然是自己打印的。最后一个也是echo并打印" />

但你说它不会在if里面,当你把它说成:

echo '<img src="'.returnString('image').'" />';

但是请注意,在这里你不希望returnString()函数执行它自己的打印。你希望它只返回你要连接的值。如果该函数实际上是自己进行打印,如上所述,那么您将获得在src标记之前显示的最终<img>内容