2013-01-05 64 views
2

我正在使用這段代碼來查找substring是否存在於一個字符串中,但是當它運行到一個特殊字符時,即使字符顯然存在也會失敗。Strpos找不到特殊字符

//Code out of context 
if (strpos($pieces[$i], 'Č<br>t') !== false) { 
    $out .= $pieces[$i];} 

---fails, Č not found 

if (strpos($pieces[$i], 'S<br>t') !== false) { 
    $out .= $pieces[$i];} 

---OK 

輸入

<td >Č<br>t</td> 
<td >S<br>t</td> 

通過

$str = file_get_contents($url); 

Entire code

我在做什麼錯?

編輯:仍然沒有工作。輸入頁面在windows-1250中,是在它的問題?

回答

0

如果mb_strpos不工作,嘗試檢查您的NetBeans編碼或創建新項目,爲我工作。

3

嘗試使用mb_strpos來代替,它意味着處理特殊字符。

相關問題:stripos returns false when special characters is used

Php.net:http://uk3.php.net/manual/en/function.mb-strpos.php

+0

還是不行,charset有問題嗎?輸入是在windows-1250 – bilcus

+0

這實際上只有當輸入和指針是相同的字符集,並且如果您正確指定charset作爲第4個字符時才起作用。 – Evert

+0

所有轉換爲相同的字符集,但仍然沒有。有人可以看看源代碼,輸入內容是表格的一行。現在相當迷茫,但我確信這是關於編碼的東西。 – bilcus