2017-03-29 54 views
0

我有一個返回HTML表單的函數。 在附加到HTML的特定表單之前,我必須進行字符串替換。我試圖做出更換,但是,它返回表單而不執行替換。從返回的字符串中替換字符串

下面的代碼示例:

<?php 
class test{ 
    function testing() 
    { 
     ?> 
     <input type="hidden" value="<?php echo 'TEST_TAG' ?>"> 
     <?php 
    } 
} 
add_action('wp_footer', str_replace('TEST_TAG', wp_create_nonce('submit_of_form_lead'), (new test)->testing())); 
?> 

回答

1

你是不是用PHP返回表單代碼,但outputing它馬上

的>是PHP結束標記,你有效所說的一切後,我寫的?這不是PHP了。此外,PHP的回聲輸出馬上,並不返回字符串「TEST_TAG」。你能做些什麼來解決這個問題是:

<?php 
class test{ 
    function testing() 
    { 
     return '<input type="hidden" value="TEST_TAG">'; 
    } 
} 
add_action('wp_footer', str_replace('TEST_TAG', wp_create_nonce('submit_of_form_lead'), (new test)->testing())); 
?> 

但是老實說,這是處理什麼倒不如說是一個參數添加到函數調用,並把這個給,你打電話的形式一種奇怪的方式。

<?php 
class test{ 
    function testing($value) 
    { 
     return "<input type='hidden' value='$value'>"; 
    } 
} 
add_action('wp_footer', (new test)->testing(wp_create_nonce('submit_of_form_lead'))); 
?> 

這應該給出相同的結果,而不必更換佔位符。