ช่วยดูสคริปให้หน่อยครับ จะทำให้มันใช้กับภาษาไทยได้ยังไงหรอครับ
คือมันเป็นโปรแกรม gen synonym นะครับ ผมจะทำให้มัน gen ภาษาไทย ปกติโปรแกรมมันใช้ได้กับภาษาอังกฤษไม่รู้ต้องแปลงตรงไหนให้ใช้กับภาษาไทยได้ครับ พี่ๆช่วยหน่อยนะครับ
Code (PHP)
<?php
$handle = @fopen("syns.txt", "r"); // Open file form read.
$txt_old = $_POST['txt_old'];
$txt_new = strtolower('. ' . trim($txt_old));
if ($handle && $txt_old)
{
while (!feof($handle)) // Loop til end of file.
{
$line = fgets($handle); // Read a line.
$replace = " {" . trim(str_replace(", ", "|", $line)) . "}";
$syns = explode(", ", $line);
foreach($syns as $syn)
{
if(strpos($txt_new, ' ' . $syn . ' ') || strpos($txt_new, ' ' . $syn . 's') || strpos($txt_new, ' ' . $syn . '.') || strpos($txt_new, ' ' . $syn . ','))
//if(strpos($txt_new, ' ' . $syn . ' ') )
{
$txt_new = str_replace(' ' . $syn, $replace, $txt_new);
break;
}
}
}
$txt_new = ucfirst_sentence(trim($txt_new));
$txt_new = ucfirst_sentence2(trim($txt_new));
$txt_new = ucfirst_sentence3(trim($txt_new));
$txt_new = substr($txt_new, 2);
fclose($handle); // Close the file.
}
function ucfirst_sentence($str)
{
//return preg_replace('/\b(\w)/e', 'strtoupper("$0")', $str);
return preg_replace('/\.\s\b(\w)/e', 'strtoupper("$0")', $str);
}
function ucfirst_sentence2($str)
{
//return preg_replace('/({|\|)\b(\w)/e', 'strtoupper("$0")', $str);
//return preg_replace('/(\.\s{\b\w)|(\.\s{\b\w\|\w)/e', 'strtoupper("$0")', $str);
return preg_replace('/\.\s{(\w+\|){0,}./e', 'strtoupper("$0")', $str);
//return preg_replace('/(\.\s{\b\w)|({(\w)\|\b(\w))/e', 'strtoupper("$0")', $str);
}
function ucfirst_sentence3($str)
{
//return preg_replace('/(({|\|)[A-Z]){0}[A-Z]{2,}/e', 'strtolower("$0")', $str);
return preg_replace('/[A-Z]{2,}/e', 'ucfirst(strtolower("$0"))', $str);
}
?>
<form method=post action="">
<textarea name="txt_old" rows="10" cols="100">
<?= trim($txt_old); ?>
</textarea>
<input type="submit"> <input type="reset">
<div>
<?= $txt_new; ?>
</div>
</form>
Tag : PHP, Report Others
Date :
2011-07-10 21:53:05
By :
sainamz
View :
17946
Reply :
2
ลองใส่ <meta http-equiv=Content-Type content="text/html; charset=tis-620"> ใต้ head ดูนะครับ ไม่แน่ใจว่าจะได้ไหม
รอผู้รู้ท่านต่อไปครับ
Date :
2011-07-11 03:31:29
By :
srianak
ถ้ายังไม่ได้ลองใช้ iconv() ครับ
Date :
2011-07-13 06:27:57
By :
webmaster
Load balance : Server 05