我正在编写一个包含校样的几何应用程序。现在的基本流程是用户输入答案,并将此答案字符串与“正确”的答案字符串进行比较。应用程序现在处于早期阶段,但我已经看到,如果我找到了正确的php函数,应用程序的某些功能将需要更少的代码。例如,在多步证明中,假设在多步几何证明的一个步骤中,数据库中的答案是:
AB ≅ AC //(as AB ≅ AC)
处理此文件的php文件使用trim
和str_replace
修剪所有空格。输入以下所有内容作为答案的用户是正确的:
AB ≅ AC
AB≅AC
AB ≅AC
AB≅ AC
然而,即使以下在现实世界中是正确的,我的php文件(最初,在我做出更改之前)认为以下“不正确”:
AC ≅ AB //and all permutations missing whitespace
现在,我使用strpos
,stripos
,strlen
和substr
的组合来解释等效答案的不对称性(例如,A = B与B相同) = A)但它增加了许多代码。
php中是否有任何字符串函数交换子字符串。也就是说,给出2个字符串如下:
$AnswerString1 = "AB≅AC";
$AnswerString2 = "AC≅AB";
是否有任何php字符串函数可以假设地交换子字符串:
$SwappedAnswerString2 = swap($AnswerString2, "AB", "AC");
现在:
$AnswerString1 = $SwappedAnswerString2;