0
我在分隔符中遇到爆炸問題。我有一個相當粗糙的字符串作爲分隔符,當我添加另一個字母(字的開頭)時,它似乎崩潰了,但是當我刪除第一個字母時,它不會被修復,這將表明它不是長度的。分隔符中出現爆炸故障
要機智的(工作)代碼:
$boom = htmlspecialchars("<td width=25 align=\"center\" ");
$arr[1] = explode($boom, $arr[1]);
滿弦,我想用的是<td width=25 align=\"center\" class=\"
,當我開始添加在class
,爆炸發生故障,並沒有得到執行。只要我加入c
就會發生這種情況,如果我刪除<
,它就不會消失,如果它只是字符串長度的問題,它會消失。
基本上,這個問題並不可怕,因爲我可以用爆炸後的「」替換class="
,並得到相同的結果,但這讓我很頭疼診斷,而且這似乎是一個非常奇怪的問題。對於它的價值,我在XAMPP 1.7.2中使用了PHP 5.3.0。
在此先感謝!
寬度不需要引號?
是的,但我不是作者。該網站的代碼相當混亂,但我無能爲力。 – 2009-11-16 08:41:12
回答
你可以嘗試分隔符的每次發生轉換的原始字符串
"<td width=25 align=\"center\" "
的東西更容易管理,如:
,然後爆炸在那個字上
來源
2009-11-13 13:54:19
,但如果單元格包含單詞banana,它會意外爆炸該字符串。你必須做一些瘋狂的人物組合,也就是說,&)UIF $ _GD)NIF,但即使如此,在字符串 – Psytronic 2009-11-13 14:19:55
中出現這種情況的機率(確實很小),你也許應該檢查看看替換的分隔符是否出現在原始字符串中,但很容易做到這一點,以及在情況下對替換分隔符進行輕微更改。 – 2009-11-13 14:23:04
是的,我很確定沒有人在鞋類目錄網站上提到香蕉。 ;) 這是一個很好的建議,我可以在一行中做到這一點(再加上幾個除數)。 – 2009-11-13 14:47:27
您是否試過將htmlspecialchars添加到爆炸中。
$arr[1] = explode($boom, htmlspecialchars($arr[1]));
我得到意想不到的效果沒有它,但它它完美。
輸出:
而
輸出
這是因爲$熱潮htmlspecialchar編碼,<和>轉化爲& lt;和& gt,它無法在字符串中找到它,所以它只是返回整個字符串。
來源
2009-11-13 13:44:38 Psytronic
是的,整個字符串是htmlspecialchars轉換。當我檢索數據時,我是在第一步做到的。起初,直接轉到頁面源代碼很方便,而不是顯示頁面,但後來我保留了它。事實上,字符串(minus類)完美地工作,這意味着html與它無關(尤其是因爲添加的char「c」不是html特殊字符)。 – 2009-11-13 14:51:26
相關問題