我想解析出一個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. 解析.ini文件
- 5. 使用帶符號的PHP解析ini文件
- 6. 分析錯誤的ini文件「#」線
- 7. 用KSH解析INI文件
- 8. INI文件解析器C
- 9. 用Haskell中的等號解析錯誤
- 10. 使用configparser解析.ini文件 - 獲取錯誤 - 文件格式錯誤
- 11. Zend錯誤通過我的INI文件
- 12. PHP與i'.ini'文件錯誤報告
- 13. 用於JBoss模塊的module.xml文件給出瞭解析錯誤
- 14. 解析INI文件的優點/缺點
- 15. 我的PHP腳本PHP解析錯誤
- 16. 解析錯誤:解析錯誤在PHP
- 17. 關於文件解析java
- 18. php郵件解析錯誤
- 19. PHP解析xml文件錯誤
- 20. PHP包含文件解析錯誤
- 21. 在.htaccess中解析INI文件
- 22. 當amperstand(&)解析INI文件時,值爲
- 23. 如何解析ini文件與升壓
- 24. 解析類INI配置文件
- 25. 如何解析INI樣式文件
- 26. 在qt中解析ini文件
- 27. PHP解析包含變量的ini文件
- 28. 解析未命名的配對PHP ini文件
- 29. 解析錯誤我的PHP文件不符合
- 30. 用PHP解析INI文件時分號(;)被包括在所述值
我真的放棄了,並且爲INI解析寫了一個非常棒的類。 https://github.com/psion/INI-Class – psion 2011-11-19 07:29:37