PHPの正規表現を探しています
例えば、「フレ┼ズのようなPHPの正規表現を探しています」という文が中国語、英語、日本語で書かれています!
この文の各単語を配列に保存したいのですが、この配列には英語の単語が 1 つの単位で保存されます。
例: {"quest","一","PHP","regulator"," table" ,"Da","Shi","like","フ","レ","┼","ズ"}
を保存できるコードをオンラインで見つけましたすべての中国語文字を 1 つの Array
//通常のルールを使用して 1 つの半角文字または 1 つの全角文字を照合し、それを配列に格納します $ar
preg_match_all("/[x80 -xff]+?\x00/",$str,$ar) ;
$ar = $ar[0];
//$ar
内の ASCII 0 文字を含む項目を削除します ( $i = 0; $i if ($ar[$i] != chr(0x00)) {
$ar_new[]=$ar[$i] ;
echo "==".$ar[$i ];
}
}
-----解決策-------- -----------
$s = 'フレ?ズなどの PHP 正規表現を検索';
preg_match_all("/[x80-xff].|w+/", $s, $r);
print_r($r[ 0 ]);
配列 ( [0] => 検索 [1] => 1 つ [2] => PHP [3] => 正 [4] => 次に [5] = >表[6] =>式[9] =>レ[11] =>
------解決策------------------
この問題には中国語と英語の単語の分割が関係していますか?
------解決策---------
それは「正常」ですか、それとも「陽性」ですか、」すると「?この差はちょっと大きいですね。
------解決策---------
<?php $str = '"クエスト","一","PHP","レギュラー","テーブル","达","式","いいね","フ","レ","┼","ズ「」; $str = str_ireplace(array(',', '"'), array("", ""), $str); $pattern = "/[^x4e00-x9fa5]{2}|[w]+/i"; preg_match_all($pattern, $str, $aMatch); print_r($aMatch); ?><div class="clear"></div>