2012-05-30 105 views
0

我在嘗試比較PHP腳本中的兩個阿拉伯語字符串以查看它們是否匹配時遇到問題。我已經嘗試使用mb_internal_encoding將內部編碼設置爲UTF-8,我嘗試了一個簡單的if($ x == $ y)表達式,我試過strcmp()...沒有骰子。任何想法我做錯了什麼? PHP與使用非英文文本進行字符串比較有問題嗎?在PHP中比較兩個阿拉伯文字符串值?

謝謝!

下面是一個代碼摘錄:

   // Chop up HTML content into bits 

      $threadPieces = explode('</div>', $innerHTML); 

      // Chop up the HTML bits into data entries 

      $strippedThreadPieces = strip_tags($threadPieces[1]); 
      $threadInfo = explode('-', $strippedThreadPieces); 

      $threadTitleExists = trim($threadTitleExists, 'thread_title_'); 

      $postername = "مراسل"; 

      if (($threadTitleExists > 100000) && ($threadInfo[0] === $postername)) 
      { 
      echo 'Thread title:'; 
      echo strip_tags($threadPieces[0]); 
      echo '<p>'; 
      } 
      else 
      { 

      } 
+0

你可以發佈代碼嗎? – Ansari

+0

這兩個字符串有相同的編碼?你可以發佈你用來比較的代碼片段,包括你的調用到mb_函數嗎? – stefgosselin

+1

你需要的是'mb_strcmp()',由於某種原因它不存在於PHP中。也許這可能會有所幫助:http://pastebin.com/d9kyBjBr – CodeZombie

回答

0

我認爲這個問題是字符集你的PHP文件的,請嘗試使用UTF-8字符集保存。

0

我這樣做的方式是使用功能mb_ereg這是與多字節支持正則表達式匹配。