2016-05-04 15 views
-2

PHPのJSON文字列からキリル文字を取得しますか? JSON文字列は構造化されておらず、すべての型です。PHPのjson stringからキリル文字を取得しますか?

例:

{"employees":[ 
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Вилен", "lastName":"Авангард"}, 
    {"firstName":"Станислав", "lastName":"Андрей"} 
]} 

出力:

Вилен Авангард Станислав Андрей 
+0

[OK]を、今、あなたの問題は何ですか?あなたはそれを解決しようとしていますか?あなたの質問は明確ではありません、編集してください – olibiaz

+0

出力はあなたの期待された出力ですか? –

+0

申し訳ありません。私は英語が下手です。私は多くの正規表現を試しましたが、動作しませんでした。私はちょうどすべてのcyrilic単語が必要です。 – Bayasgalan

答えて

0

あなたが正規表現で行う必要がある場合は、一般的な目的のためにonline script here

をチェック:あなたが必要

をチェックするfirstNameまたはは英語であるかどうかを確認し、そうでない場合は配列に格納し、最後には結果要求として埋め込みます。

$json = '{"employees":[ 
      {"firstName":"John", "lastName":"Doe"}, 
      {"firstName":"John", "lastName":"Doe"}, 
      {"firstName":"Вилен", "lastName":"Авангард"}, 
      {"firstName":"Станислав", "lastName":"Андрей"} 
     ]}'; 
$arr = json_decode($json, true); 

$out = array(); 
foreach($arr['employees'] as $value){ 
    if(strlen($value['firstName']) != mb_strlen($value['firstName'], 'utf-8')) 
     $out[] = $value['firstName']; 
    if(strlen($value['lastName']) != mb_strlen($value['lastName'], 'utf-8')) 
     $out[] = $value['lastName']; 
} 

echo implode(" ", $out); //Вилен Авангард Станислав Андрей 

Note: You need mbstring php module installed.

+0

ありがとうございます。 json文字列は構造化されています。 json以上は単なる例です。いくつかのレスポンスにはfirstName、lastName ..などは含まれていません – Bayasgalan

+0

オンラインリンクをチェックしてください:[regex101.com](https://regex101.com/r/eK8fB9/1) –

+1

ありがとうございました。 "/(* UTF8)(?![A-Za-z] +)\ p {キリル文字} + /"これは完璧な作品です。 – Bayasgalan

関連する問題