2014-11-18 3 views
1

я не могу найти решение, как совместить одинарные и двойные кавычки, чтобы эхо HTML и вызова функции одновременно:Вызов PHP функции внутри строки

foreach ($result as $r) { 
    echo "<a href='get_permalink(get_page($r->id))'>".get_permalink(get_page($r->id)).'</a><br>'; 
} 

Проблема эта часть обрабатывается как текст, а не php

"<a href='get_permalink(get_page($r->id))'>" 

Cansome один поможет мне совместить это? get_permalinks и получить страницу Wordpress, встроенные в функции, поэтому они должны иметь поведение функции

ответ

2

Вы не можете вызвать функцию внутри двойных " цитат.

foreach ($result as $r) 
     { 
      echo "<a href='".get_permalink(get_page($r->id))."'>".get_permalink(get_page($r->id)).'</a><br>'; 
     } 
0

попробовать этот способ:

if($result as $r) 
{ 
    echo "<a href='" . get_permalink(get_page($r->id)) . "'>" . get_permalink(get_page($r->id)) . '</a><br>'; 
} 
2

Невозможно запустить PHP-код, когда он внутри строки (если только с eval). Тем не менее, вы можете использовать printf() для отдельного кода из строки:

$url = get_permalink(get_page($r->id)); 
printf('<a href="%s">%1$s</a><br>', htmlspecialchars($url, ENT_QUOTES, 'UTF-8')); 

%1$s является позиционной спецификатор формата; это делается для того, чтобы только кодированное значение $url было передано.

Смежные вопросы