2012-05-11 54 views
1

我讀到類似的冠軍,但我不能讓它跑..更新到的preg_match

現在,我有這樣的代碼(原額日格):

 if (preg_match("[^0-9]",$qrcode_data_string)){ 
     if (preg_match("[^0-9A-Z \$\*\%\+\-\.\/\:]",$qrcode_data_string)) { 

我也嘗試使用/在規則的開始和結尾處,但不起作用。

歡迎任何回覆。

回答

0

你需要delimiters周圍的模式preg_*功能:

if (preg_match("#[^0-9]#", $qrcode_data_string)) { 
#    ^ ^

從文檔:

當使用PCRE功能,則需要該模式由分隔符包圍。分隔符可以是任何非字母數字,非反斜槓,非空白字符。

經常使用的分隔符是正斜槓(/),散列符號(#)和波形符號(〜)。

+0

謝謝,但據我所知,我已經試過了。 如果我使用它的第一線而已,它創造很多的的索引哪些是無效的, 如果我用它在這兩方面,我得到 消息:QR碼:溢出錯誤 但是,如果使用額日格,我只看到通知,但代碼有效。 –

+0

@ erdemkeren:分隔符是必需的**,正如您通過閱讀文檔所看到的。這不是「我會嘗試,但如果它不起作用,那麼我會刪除它們」。你絕對**需要**。另一個錯誤是別的。 –

+0

我明白並明白它們是必需的。在問這個問題之前,我讀了很多頁面。我想知道是否有其他意見,我想念。 你說的代碼是真的,但腳本是錯誤的嗎? –