0

私は以下の簡単な交換作業をしています

<?php
$mydata= '15-2003';
$pattern = '/[-]/';
$replacement = ' ';
echo preg_replace($pattern, $replacement, $mydata);
?>

152003を出力します

しかし、それをforeachループに入れると、機能しないように見えますか?

私はこれを持っています

<?php foreach ($tests as $test): ?>
<tr>
<?php
$mydata= htmlout($test['f']);
$pattern = '/[-]/';
$replacement = '';
echo preg_replace($pattern, $replacement, $mydata);
?>
<?php endforeach; ?>

どの出力15-2003ここでどこが間違っているのですか?

htmloutは以下のカスタム関数です。

<?php
function html($text)
{
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}
function htmlout($text)
{
echo html($text);
}

var_dump($ mydata);を実行すると NULLを取得します

4

1 に答える 1

1

値をingするhtmlout() echo代わりにesするため、これは意図したとおりに機能しません。return

交換を検討

$mydata= htmlout($test['f']);

$mydata= html($test['f']);

コードで発生するのは、元の文字列を出力し、に戻っNULLてから、何も表示されない$mydataをエコーすることです。NULL

于 2012-07-16T13:00:17.907 に答える