在PHP中只将文本框输入中的数字写入输出文件

时间:2014-02-01 13:42:40

标签: php

我使用输出的标准输出代码:

<?php
$txt = "data.txt"; 
$fh = fopen($txt, 'w+'); 
if (isset($_POST['field1']) && isset($_POST['field2'])) { // check if both fields are set
   $txt=$_POST['field1'].' - '.$_POST['field2']; 
   file_put_contents('data.txt',$txt."\n",FILE_APPEND); // log to data.txt 
   exit();
}
fwrite($fh,$txt); // Write information to the file
fclose($fh); // Close the file
?>

我的问题是如何只将文本框中输入的数字写入我的输出。例如,当我输入文本框hello world547457457时,我只需要将547457457写入输出文件。

1 个答案:

答案 0 :(得分:0)

这个PHP脚本会对你有所帮助,但我建议的是在输入框中添加JavaScript验证并在输入文本时进行检查。

<?php

//the text what you want
$_POST['field1'] = 'helloworld547457457';

$number = '';

//process each character
for($i=0; $i<strlen($_POST['field1']); $i++)
{
    //find the ascii value
    $ascii = ord($_POST['field1'][$i]);

    //check the number range
    if($ascii>=ord(0) && $ascii<=ord(9))
    {
        //bind the actual number
        $number .= $_POST['field1'][$i];    
    }

}

//display the output
echo $number;