2013-11-24 70 views
0

一個strpos作品或不依賴於分析的字符串源(手動輸入或由第三方機構提供):strpos不匹配一個字符串:characterset問題?

index.php?option=com_ars&view=release&id=8 

對strpos指令

$debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true'); 

對strpos總是返回false。

我試過mb_strpos,我試過各種連接/解編碼無濟於事(utf8_encodeutf8_decode,即使使用sprintficonv,...)。

我最好的暗示我就知道的是,當字符串是由第三方機構提供的convert_uudecode給出了一個錯誤

Warning: convert_uudecode(): The given parameter is not a valid uuencoded string 

而對於手動輸入返回8AX9 | 3" 。

我不是PHP的專家可言,但是這讓我想到一個字符集問題。

上我應該怎麼做我的strpos任何想法?

回答

0

首先,我看到有一個括號「(」太多了。 (你有3開「(」,和2閉「)」)。
其次,如果你想讓你的變量$ OK爲真,如果他發現「?」那麼你應該測試一下!==

$ok = strpos($url, '?') !== false; 

$ ok現在如果引號是「?」被發現。

+0

錯誤的複製粘貼。感謝您注意它。 – lvr123