第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何阻止 PHP DOMDocument::saveHTMLFile 生成十六進制代碼

如何阻止 PHP DOMDocument::saveHTMLFile 生成十六進制代碼

PHP
莫回無 2023-07-21 16:30:45
如何阻止 PHP DOMDocument::saveHTMLFile 生成十六進制代碼,并對其進行轉換<a href="word word\word.html"></a>進入這個<a href="word%20word%5Cword.html"></a>它還添加了一個元標記,并在我的 id 和其他不需要它的屬性上附加引號...,但這是實際的問題,因為它破壞了停止工作的鏈接我正在加載一個 html 文件,添加另一個文件的標頭,然后保存它。我已將問題范圍縮小到 DOMDocument::saveHTMLFile 本身編輯 1:在我的本地站點上,我收到“在此服務器上找不到請求的 URL”,盡管它在地址欄中顯示為 mysite\word word\word.html。如果我轉到地址欄,點擊輸入,它會再次起作用。如果我復制粘貼 word%20word%5Cword.html,它會在地址欄中轉換為單詞 word\word.html,但會拋出“在此服務器上找不到請求的 URL”。如果我在地址欄中再次點擊輸入,那么它就會起作用。顯然 word%20word%5Cword.html 不起作用...并且智能瀏覽器是 FF。UC 留下了十六進制代碼,所以它永遠無法工作,Chrome 也是......編輯2:更奇怪的是,問題不是%20,而只是%5c...確實如此,它是瀏覽器\修復的“”而不是“/”...實際上我想我無法將問題縮小到saveHTMLFile,因為當我在瀏覽器中測試時,十六進制代碼似乎會變回相應的字符,只是它破壞了功能。假設一個解決方法是將所有“ \”更改為“/”,但我真的不希望 saveHTMLFile 更改任何內容,因為它也會進入我的人類可讀的 html 注釋,并通過用 html 實體替換內容而造成混亂,從 html 格式的角度來看,這毫無意義。當然,最終的解決方法是回到純文件和字符串操作,但為了到目前為止的努力,我想停止 saveHTMLFile 轉換我的 html編輯3:在文件比較手動檢查中,我意識到這要糟糕得多...多個\"完全消失,而其他則沒有,以及,我的 <meta name="description" 標簽。我無法想象它與那些有什么關系。/它還從我的相對路徑中刪除了尾隨。這是不可接受的,這種實施讓我想祈禱種族滅絕的外星人找到我們=]。如果我不能阻止它弄亂我的文件,它就會回到普通的舊式安全文件操作。這是 PHP 5.3.1。我會嘗試一個稍微新一點的編輯4:PHP 5.4.7中的相同問題
查看完整描述

1 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

在 Java 中遇到了一個名為 Jsoup 的庫,它取消了我的一些文本的大寫并刪除了不應該的結束標簽。我至少可以嘗試另外兩個 Java DOM 實現(xiàn),但我想我必須完全遠離 DOM 實現(xiàn),我開始在這里看到一種模式 =]。當程序員無法實現(xiàn)符合規(guī)范的基本文本解析時,就會出現(xiàn)根本性錯誤 - 說到這一點,Jsoup 不會生成十六進制代碼......只是說


簡單的解決方案是文件操作(Java) - 完全避免這個問題并保持簡單愚蠢:


File htmlTemplateFile = new File(testfilepath);

htmlString = FileUtils.readFileToString(htmlTemplateFile);

header = FileUtils.readFileToString(new File(headerfilepath));

Pattern pattern = Pattern.compile("<body(.*)>");

Matcher matcher = pattern.matcher(htmlString);

String match = null;

                if (matcher.find())

                    match = matcher.group();

                else {

                    System.out.println("no body in file: " + htmlFile);

                    continue;

                }

htmlString = htmlString.replaceFirst(pattern.toString(), match + header);

FileUtils.writeStringToFile(htmlTemplateFile, htmlString);


查看完整回答
反對 回復 2023-07-21
  • 1 回答
  • 0 關注
  • 101 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號