首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大多数浏览器[FF,MSIE7 7/8等]上,实际的输入内容不受压力。

在大多数浏览器[FF,MSIE7 7/8等]上,实际的输入内容不受压力。
EN

Stack Overflow用户
提问于 2010-08-02 12:15:13
回答 2查看 67关注 0票数 0

我正在开发一个应用程序(使用PHP、javascript )。下面是关于我的问题陈述的简短描述。

在我的应用程序中,有两种形式是可以维护的,即SourceFrm和targetFrm。我正在接受第一种形式的输入,即SourceFrm,并在targetFrm上进行处理。

下面是我从SourceFrm :获得的输入

1)输入数据(标识此输入框的id为“inputdata” ):

2)输入id (标识输入框id为id ):

根据上面的用户输入提要,我将此数据发布到targetFrm以供进一步处理。

TargetFrm

我只是将inputdata值分配给php。单词之间的空格正在丢失(多个空格转换成一个空格)。

用户在输入框中添加了下面的数据并提交了

输入数据:

代码语言:javascript
复制
This is my     test.

这里观察到,用户在'my‘和'test’单词之间增加了5个空格。将此输入数据分配给php变量之后。之后,我在内容下面打印了这个值。

输出:

代码语言:javascript
复制
This is my test.

多个空格正在转换为一个空格。我在FF、MSIE7/8 opera、safari、chrome等所有浏览器上都检查过这种行为。

如果在打印php变量之前使用了'<pre>',即:

代码语言:javascript
复制
print "<pre>";
print $inputdata;

在时间上,空间没有消失(我得到了确切的内容)。

在这里,我的矛盾是如何在不使用'<pre>'的情况下预置准确的内容。我在进一步的数据处理中使用了编码/解码(htmlentitiesencode()和decode () )功能,因此如果我用&nbsp;替换空格,可能会造成一些冲突。(如果我使用&nbsp;而不是空格,可能会发生冲突)。

是否有人有任何想法,建议请提出。

-Thanks

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-02 12:24:09

当您将变量输出到HTML时,它们被解析为HTML。任何额外的空白都会降到一个空格。

一个简单的修复将用&nbsp; html实体替换所有空格,以强制浏览器显示每个空格。

我不会将字符串与数据库中的所有&nbps;一起存储,但是当您显示它时,&nbsp;将确保每个空间都被看到。

编辑

我的意思是只替换render...like上的空格:

print str_replace(' ', '&nbsp;', $inputdata);

票数 1
EN

Stack Overflow用户

发布于 2010-08-02 14:26:38

HTML只能显示一个空格。我不太清楚为什么,但是如果您检查包含字符串的呈现网页的源代码,您会发现它包含所有的空间,浏览器只是没有显示它。

其他空格字符也是如此,如制表符。

处理它的方法取决于内容的类型。您可以用&nbsp;替换空格,或者保留它的原样,或者做一些完全不同的事情,即将多个空格分割成一个空格。

这真的取决于你的数据的性质-唯一的真实情况,当你需要更多的空间时,我想到的是,如果你试图用空格缩进东西,什么实际上不是那么好的想法。

编辑:旧资源:

http://www.sightspecific.com/~mosh/WWW_FAQ/nbsp.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3387604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档