簡體   English   中英

strpos與字符串不匹配:字符集問題?

[英]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_encodeutf8_decode ,甚至使用sprintficonv ,...)。

我最好的提示是,當字符串由第三方機制提供時, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM