PHP计算大写字母(不工作)

PHP计算大写字母(不工作),php,html,Php,Html,我是PHP新手,试图数一数文本区域中的所有大写字母,但当我点击“提交”按钮时,却什么也得不到。这是我的密码: <!DOCTYPE html> <html> <body> <?php if(isset($_POST['submit'])) { function caps($s) { $u = 0; $d = 0; $n = strlen($s); for ($x=0; $x<$n; $x++) { $d =

我是PHP新手,试图数一数文本区域中的所有大写字母,但当我点击“提交”按钮时,却什么也得不到。这是我的密码:

<!DOCTYPE html>
<html>
<body>
<?php
if(isset($_POST['submit'])) {
 function caps($s) {
   $u = 0;
   $d = 0;
   $n = strlen($s);

   for ($x=0; $x<$n; $x++) {
       $d = ord($s[$x]);
       if ($d > 64 && $d < 91) {
           $u++;
       }
   } 

   return $u;
   }
  $n1=$_POST['n1'];
     echo 'caps: ' .  caps($n1) . "\n";
}
?>
  <form><textarea rows="4" cols="50" name="n1" value="<?php if(isset($_POST['n1'])){echo htmlspecialchars($_POST['n1']);}?>"></textarea>
 <br><input type="submit" name="submit" value="Submit"></form>
 </body>
 </html>


这个例子将帮助您

preg_match_all("/[A-Z]$/", $s, $matches);
$all_upper_cases = count($matches);

这个例子将帮助您

preg_match_all("/[A-Z]$/", $s, $matches);
$all_upper_cases = count($matches);
使用此功能:

function count_capitals($s) {
  return strlen(preg_replace('![^A-Z]+!', '', $s));
}

文本框:

 <textarea rows="4" cols="50" name="n1" value="<?php count_capitals($n1) ?>"></textarea>
使用此功能:

function count_capitals($s) {
  return strlen(preg_replace('![^A-Z]+!', '', $s));
}

文本框:

 <textarea rows="4" cols="50" name="n1" value="<?php count_capitals($n1) ?>"></textarea>

您忘记设置表单方法来发布您的代码,应该如下所示:



您忘记设置表单方法来发布代码,应该如下所示:



必须有
才能提交。将您的提交按钮和文本区域括在一个表单中谢谢我让按钮工作了,但我没有得到所需的输出文本也应放入表单tagsOk谢谢我编辑了它这里必须有一个
才能提交。将您的提交按钮和文本区域括在一个表格中谢谢我让按钮工作了,但我没有得到所需的输出文本也应该进入表格tagsOk谢谢我编辑了它关于文本框我面临的问题与功能无关关于文本框我面临的问题与功能无关无任何显示,我只是把函数放在if语句中,并替换了textarea。例如,没有显示任何内容,我只是将函数放在if语句中,并替换了textarea。和。