php 正则表达式 将形如 "天," ,"安", "门" 转化为"天、安、门", (仅匹配汉字)

时间:2023-03-08 23:38:04
php 正则表达式 将形如 "天," ,"安", "门" 转化为"天、安、门",  (仅匹配汉字)

#!/usr/bin/php
<?
$rows = file("illwods_deal1.txt");
$goalfile = fopen("illwods_result1.txt", "w") or die("Unable to open file!");

foreach ($rows as $line)
{
$begpos = 0;
$matchpos = 0;
preg_match_all("/(\"[\x{4e00}-\x{9fa5}]\",)+/u", $line, $match);
//print_r($match);
foreach ($match as $words)
{
// print_r($words);
if(count($words) > 0 && strlen($words[0]) > 10)
{
//echo $words[0]. "\n";
preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $words[0], $strarr);
//print_r($strarr);

$matchpos = strpos($line, $words[0], $begpos);
$befstr = substr($line, $begpos, $matchpos - $begpos);
// echo "beforestr:\n" . $befstr . "\n";
fwrite($goalfile, $befstr);

$begpos = $matchpos + strlen($words[0]);

$goal = "";
foreach ($strarr[0] as $str)
{
if (strlen($goal) == 0)
{
$goal = $str;
}
else
{
$goal = $goal . "、" . $str;
}
}
if (count($strarr[0]) > 0)
{
$goal = "\"" . $goal . "\",";
}
if (strlen($goal) > 2)
{
echo "goalstr:\n" . $goal . "\n";
fwrite($goalfile, $goal);
}
}
}
$afterstr = substr($line, $begpos);
// echo "afterstr:\n" . $afterstr . "\n";
fwrite($goalfile, $afterstr);
}

fclose($goalfile);
?>

//输入文件

*运动","六 四 运 动","六@四@运@动","六0四0运0动","六o四o运o动","六","四","运","动","六/四/运/动","六\\四\\运\\动","六|四|运|动","六’四’运’动","六,四,运,动","*运动","六.四.运.动","六$四$运$动","六#四#运#动","六~四~运~动","六!四!运!动","六-四-运-动","六_四_运_动","【六】【四】【运】【动】",
"{六}{四}{运}{动}","(六)(四)(运)(动)","六¥四¥运¥动","[六][四][运][动]",
"GCD","G C D","G@C@D","G0C0D","GoCoD","G","C","D","G\\C\\D","G/C/D","G|C|D","G’C’D","G,C,D","GCD","G.C.D","G¥C¥D","G#C#D","G~C~D","G!C!D","G-C-D","G_C_D","【G】【C】【D】","{G}{C}{D}","(G)(C)(D)","[G][C][D]","G$C$D",
"gcd","g c d","g@c@d","g0c0d","gocod","g","c","d","g\\c\\d","g/c/d","g|c|d","g’c’d","g,c,d","gcd","g.c.d","g¥c¥d","g#c#d","g~c~d","g!c!d","g-c-d","g_c_d","【g】【c】【d】","{g}{c}{d}","(g)(c)(d)","[g][c][d]","g$c$d",
"*","天 安 门","天@安@门","天0安0门","天o安o门","天","安","门","天\\安\\门","天/安/门","天|安|门","天’安’门","天,安,门","*","天.安.门","天¥安¥门","天#安#门","天~安~门","天!安!门","天-安-门","天_安_门","【天】【安】【门】","{天}{安}{门}","(天)(安)(门)","[天][安][门]","天$安$门",

//输出文件

"*运动","六 四 运 动","六@四@运@动","六0四0运0动","六o四o运o动","六、四、运、动","六/四/运/动","六\\四\\运\\动","六|四|运|动","六’四’运’动","六,四,运,动","*运动","六.四.运.动","六$四$运$动","六#四#运#动","六~四~运~动","六!四!运!动","六-四-运-动","六_四_运_动","【六】【四】【运】【动】",
"{六}{四}{运}{动}","(六)(四)(运)(动)","六¥四¥运¥动","[六][四][运][动]",
"GCD","G C D","G@C@D","G0C0D","GoCoD","G","C","D","G\\C\\D","G/C/D","G|C|D","G’C’D","G,C,D","GCD","G.C.D","G¥C¥D","G#C#D","G~C~D","G!C!D","G-C-D","G_C_D","【G】【C】【D】","{G}{C}{D}","(G)(C)(D)","[G][C][D]","G$C$D",
"gcd","g c d","g@c@d","g0c0d","gocod","g","c","d","g\\c\\d","g/c/d","g|c|d","g’c’d","g,c,d","gcd","g.c.d","g¥c¥d","g#c#d","g~c~d","g!c!d","g-c-d","g_c_d","【g】【c】【d】","{g}{c}{d}","(g)(c)(d)","[g][c][d]","g$c$d",
"*","天 安 门","天@安@门","天0安0门","天o安o门","天、安、门","天\\安\\门","天/安/门","天|安|门","天’安’门","天,安,门","*","天.安.门","天¥安¥门","天#安#门","天~安~门","天!安!门","天-安-门","天_安_门","【天】【安】【门】","{天}{安}{门}","(天)(安)(门)","[天][安][门]","天$安$门",