2009-12-16 37 views

回答

2

感謝您的答案,

爲我的作品的一個是的preg_match( 「/^\ p {}希伯來語​​+ $/U」, 「שלום」);

5

嘗試此正則表達式描述Unicode character properties

/\p{Hebrew}+/u 
+0

但回聲preg_match(「/ \ p {希伯來語} + /」,「שלון」);返回0 ... – 2009-12-16 18:36:13

+1

@Haim Bender:您需要設置* u *修飾符。 – Gumbo 2009-12-16 18:57:34

+0

描述的'\ p {希伯來語}'快捷方式在哪裏?我以前從來沒有見過。 – troelskn 2009-12-16 20:59:19

5

假設源數據是UTF-8編碼

$input = "ט״סת תעסתינג O״ת סOמע העברעו תעחת"; 

preg_match_all("/[\\x{0590}-\\x{05FF}]+/u", $input, $matches); 

echo '<pre>'; 
print_r($matches); 
echo '</pre>'; 

息率

Array 
(
    [0] => Array 
     (
      [0] => ט״סת 
      [1] => תעסתינג 
      [2] => ״ת 
      [3] => ס 
      [4] => מע 
      [5] => העברעו 
      [6] => תעחת 
     ) 

) 

我基於的0590的範圍內通過05FF在this Unicode chart(編輯:發現更好的希伯來語/ unicode信息here)。我用this來生成我的樣本輸入。由於我不知道希伯來語,我無法確認匹配的輸出是否有效。

你可能需要調整它,但希望這會讓你朝着正確的方向前進。

+0

它爲什麼匹配空間? – 2009-12-16 18:48:00

+0

酷!,並感謝btw :) – 2009-12-16 18:49:36

+0

我只需要檢查一個字符串是否是希伯來語中的單個單詞,我是否需要在正則表達式中指定字符串的開始和結束?我怎樣才能實現這個? – 2009-12-16 18:56:49