[英]$_SERVER[“HTTP_USER_AGENT”] giving me MSIE7 instead of MSIE11
[英]Actual input contents are not preseving on most of the browsers [FF,MSIE7/8 and etc]
我正在開發一個應用程序(使用PHP,javascript)。 以下是關於我的問題陳述的簡短描述
我的應用程序有兩種形式,即SourceFrm和targetFrm。 我在第一種形式即SourceFrm上接受輸入,並在targetFrm上進行處理。
以下是我從SourceFrm獲得的輸入:
1)輸入您的數據(此輸入框ID的標識為'inputdata' ):
2)輸入id(標識輸入框id為id):
根據用戶的上述輸入提要,我將此數據發布到targetFrm進行進一步處理。
在TargetFrm上 :
我只是將inputdata值分配給php varible。 單詞之間的空格正在丟失( 多個空格轉換為一個空格 )。
例如,用戶在輸入框中添加了以下數據並提交了
輸入數據:
This is my test.
在這里觀察到用戶在“我的”和“測試”詞之間添加了5個空格。 將輸入數據分配給php變量后。 之后,我在下面的內容中打印了此值
輸出:
This is my test.
不止一個空格正在轉換為一個空格。 我在所有瀏覽器(例如FF,MSIE7 / 8 Opera,safari,chrome)上檢查了此行為。
如果在打印php變量之前使用過'<pre>'
,即:
print "<pre>";
print $inputdata;
有時空間不會迷失(我正在獲得確切的內容)。
在這里,我的沖突是如何在不使用'<pre>'
情況下保留確切的內容。 我在進一步的數據處理中使用了編碼/解碼(htmlentitiesencode()和decode())功能,因此如果我用
替換空格,可能會產生一些沖突
。 (如果我使用
而不是space,可能會發生沖突)。
有沒有人有任何想法,建議請提出建議。
-謝謝
當您將變量輸出為HTML時,它們將被解析為HTML。 任何其他空白都將減少到一個空格。
一個簡單的解決方法是將所有空格替換為
html實體來強制瀏覽器顯示每個空間。
我不會將字符串與所有&nbps;
一起存儲&nbps;
在數據庫中顯示,但在顯示時顯示
將確保看到每個空間。
我的意思是只替換render上的空格...
print str_replace(' ', ' ', $inputdata);
HTML只能顯示一個空格。 我不確定為什么,但是如果檢查包含字符串的渲染網頁的源代碼,則會看到它包含所有空格,瀏覽器不會顯示它。
對於制表符,其他空格字符也是如此。
處理方式取決於您內容的類型。 您可以用
替換空格
或保留原樣或做一些完全不同的事情,即將一個以上的空間減少到一個空間。
這實際上取決於數據的性質-唯一的實際情況是,當您需要的空間多於一個空間時,我想到的是,如果您要縮進帶有空間的內容,那實際上不是一個好主意。
編輯 :較舊的資源:
http://www.sightspecific.com/~mosh/WWW_FAQ/nbsp.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.