我是 php 新手,感染这是我在 php 中的第二个脚本,它是一个逐字转写的音译工具,它从 txt 文件中读取数据,然后用新的单词替换每个单词。它对小文本非常有效,但如果文本很大,它就会失败。请提供任何帮助。
<?php
$Urdu = array();
$Roman = array();
$str2replace = $_POST["S1"];
$Chr1 = array( "'", '"', "!", " ( ", " ) ", "@", "#", "$", "%", "^", "&", "*", ",", ".", "/", "?", "<", ">", ";", "[", "]", "{", "}", "،", "۔" , "؟", "+", "-", "=", "_");
$Chr2 = array( " ' ", ' " ', " ! ", " ( ", " ) ", " @ ", " # ", " $ ", " % ", " ^ ", " & ", " * ", " , ", " . ", " / ", " ? ", " < ", " > ", " ; ", " [ ", " ] ", " { ", " } ", " ، ", " ۔ " , " ؟ ", " + ", " - ", " = ", " _ ");
$str2replace = " " . $str2replace . " ";
$str2replace = str_replace(array("\n", "\r"), '', $str2replace);
$str2replace = str_replace($Chr1 , $Chr2, $str2replace);
$file = fopen("Dict.txt", "r");
while (!feof($file)) {
$String = fgets($file);
$String = str_replace(array("\n", "\r"), '', $String);
$pos = strrpos($String, "/");
if ($pos === false) {
// Not Found
} else {
$Urdu[] = " " . substr($String, 0,$pos) . " " ;
$Roman[] = " " . substr($String, $pos+1) . " " ;
}
}
fclose($file);
$str2replace = str_replace($Urdu, $Roman, $str2replace);
$str2replace = str_replace($Chr2 , $Chr1, $str2replace);
$str2replace = substr($str2replace, 1);
echo $str2replace;
?>