[英]strpos doesn't match a string : characterset issue?
一個strpos
有效取決於所解析的字符串源(手動輸入或由第三方機制提供):
index.php?option=com_ars&view=release&id=8
strpos指令是
$debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true');
strpos始終返回false。
我嘗試了mb_strpos
,嘗試了各種en / de-coding都沒有用( utf8_encode
, utf8_decode
,甚至使用sprintf
, iconv
,...)。
我最好的提示是,當字符串由第三方機制提供時, convert_uudecode
給出錯誤
Warning: convert_uudecode(): The given parameter is not a valid uuencoded string
而對於手動輸入,它將返回8AX9 | 3“。
我根本不是php專家,但這使我想到了characterset問題。
關於我應該如何進行strpos的任何想法?
首先,我看到一個括號“(”太多了。(您有3個開頭的“(”和2個結尾的“)”)。
第二,如果您希望變量$ ok為find的“?”,則為true。 符號,那么您應該使用!==進行測試
$ok = strpos($url, '?') !== false;
現在,如果帶引號“?”,則$ ok將為true。 被發現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.