これは簡単なことかもしれませんが、私は立ち往生しています。何らかの理由で、これを機能させることができません。str_replace を使用して関数を使用して、機能していないように見える変数を変更/編集します。
index.php
<?php
include("test.php");
?>
<html><head></head><body>
<? $a = cons(array("one","two","three"),array("four","five","six")); ?>
</body></html>
test.php
$header = '<form class="Poll" method="post" action="%src%"><input type="hidden" name="QID" value="%qid%" /><h4>%question%</h4><table width="100%">';
$md5 = '';
$question = array();
$answers = array();
$tips = array();
function cons($params, $tips) {
$question = array_shift($params);
$answers = $params;
$tooltip = $tips;
$md5 = md5($question);
$header = str_replace('%src%', $_SERVER['SCRIPT_NAME'], $header);
$header = str_replace('%qid%', $md5, $header);
$header = str_replace('%question%', $question, $header);
//isset($_COOKIE[$md5]) ? poll($VOTES) : poll($POLL);
/* using this to test */
if(isset($_COOKIE[$md5])){
echo "Hello";
}else{
echo $header;
//echo $center;
//echo $footer;
}
echo $md5;
}
cons() から $md5 をエコーアウトすると動作し、print_r() $answers と $tips を出力すると動作します。str_replace は、私が考えているもので、%src% を置き換える代わりに $header をクリアしています。私は多くの検索を行ってきましたが、私が遭遇したものはすべて、ユーザー/チュートリアルは次のようなものを示しています
echo str_replace('%question%', $question, $header);
これは私が探しているものではありません。重複したコードや繰り返しコードを使用する代わりに、コードをある程度コンパクトに保ちたいと考えています。何をすべきかよくわからないので、アイデアや提案があれば大歓迎です。