我想解析出一個INI文件,它有一個URL作爲要解析的變量之一。問題是,URL中包含'=',parse_ini_file吐出一個錯誤。我試圖逃避角色,但無濟於事。這是否發生在其他人身上?如果是這樣,有誰修理它?PHP解析INI文件給我關於等號的錯誤
4
A
回答
9
您是否將該值用引號引起來?只要你的價值有引號,只要價值中有=就不成問題。例如:
key1="http://www.google.com?q=test";
0
這是一個快速解決方案,用於解決等號的parse_ini_ *問題。您還可以使用正則表達式,爆炸陣列等
function parseIniFile($file) {
if (!is_file($file)) return null;
$iniFileContent = file_get_contents($file);
return parseIniString($iniFileContent);
}
/* solves the equalitiy sign problem */
function parseIniString($iniFileContent==''){
$iniArray = array();
$iniFileContentArray = explode("\n", $iniFileContent);
foreach ($iniFileContentArray as $iniFileContentArrayRow){
$iniArrayKey = substr($iniFileContentArrayRow, 0, strpos($iniFileContentArrayRow, '='));
$iniArrayValue = substr($iniFileContentArrayRow, (strpos($iniFileContentArrayRow, '=')+1));
$iniArray[$iniArrayKey] = $iniArrayValue;
}
return $iniArray;
}
2
更好的將是使用我有同樣的問題的parse_ini_file
parse_ini_file($file, true, INI_SCANNER_RAW);
0
爲第三個參數,它驅使我瘋了!問題最終變得愚蠢......我在Windows中創建了.ini文件,使用一個我重命名爲.ini的文件。顯然,PHP有一些標記,但不是在我的Notepad ++中。
我刪除了.ini,並在我的Linux主機上創建了一個。這解決了這個問題。如果您在Windows上使用WAMP或XAMPP,請嘗試使用記事本創建一個新文件,該文件不考慮任何標記。
我知道這是一個老話題,但我最終在這裏尋找同樣的問題,所以它可能會幫助別人。
相關問題
- 1. PHP INI解析錯誤
- 2. PHP的字符串比較錯誤解析ini文件
- 3. 使用帶符號的PHP解析ini文件
- 4. 使用configparser解析.ini文件 - 獲取錯誤 - 文件格式錯誤
- 5. Zend錯誤通過我的INI文件
- 6. 用於JBoss模塊的module.xml文件給出瞭解析錯誤
- 7. 解析INI文件的優點/缺點
- 8. 我的PHP腳本PHP解析錯誤
- 9. php郵件解析錯誤
- 10. PHP包含文件解析錯誤
- 11. 當amperstand(&)解析INI文件時,值爲
- 12. 在java中解析Ini文件
- 13. 如何解析ini文件與升壓
- 14. 解析類INI配置文件
- 15. 解析未命名的配對PHP ini文件
- 16. php - 解析錯誤
- 17. 解析錯誤PHP
- 18. PHP解析錯誤
- 19. 這是給我一個解析錯誤
- 20. 錯誤解析xml文件
- 21. csv.reader解析文件錯誤
- 22. 使用PHP解析INI文件並運行JSON_DECODE
- 23. 關於錯誤的誤解
- 24. INI文件在PHP
- 25. PHP的錯誤:解析錯誤
- 26. 解析用逗號分隔的文件,並等號
- 27. XCode:「由於解析錯誤,分析器跳過了此文件」
- 28. 關於PHP 504錯誤的長文檔
- 29. 解析錯誤{} php Migrations
- 30. 解析錯誤逃生PHP
我真的放棄了,並且爲INI解析寫了一個非常棒的類。 https://github.com/psion/INI-Class – psion 2011-11-19 07:29:37