私は文字列を検索する学校のプロジェクトに取り組んでおり、データベースにクエリを実行して、その文字列に含まれるすべての単語を返します。そのためには、strtoupper() を使用する必要があります。これは、すべて大文字または小文字の文字列がある場合にうまく機能します。検索に AAB または aab を入力すると、すべて正常に動作し、ABA と BAA の 2 つのアナグラムが返されます。ただし、aAB を入力すると、何も返されません。alpha という名前の入力から投稿データを取得し、単語をアルファベット順に並べ替えます。つまり、ABA と入力すると、AAB が返され、大文字になります。
<title>Scrabble</title>
<?php
require 'connect.inc.php';
if (isset($_POST['al'])){
$al=$_POST['al'];
$al=alpha($al);
$al=trim(strtoupper($al));
$query="SELECT * from Words WHERE alpha='$al'";
if ($query_run = mysql_query($query)){
while ($query_row = mysql_fetch_assoc($query_run)){
$alpha = $query_row['alpha'];
$ana = $query_row['word'];
echo "<strong>$ana</strong> $alpha<br>";
}
}
}
function alpha($word){
$array=array();
for($x=0;$x<strlen($word);$x++){
$char=substr($word,$x,1);
$array[$x]=$char;
}
sort($array);
$alpha=implode('',$array);
return $alpha;
}
?>
<form action='scrabble.php' method='POST'>
Enter text to anagram. Please use either all uppercase or all lowercase<input type='text' name='al'>
<input type='submit'>
</form>
彼のリンクはここにあります http://newdev.shodor.org/~amalani/newdev/scrabble.php ありがとう