发布于2022-01-25 13:55 阅读(215) 评论(0) 点赞(5) 收藏(4)
我正在从 textarea 表单中获取输入并将其放在长线上。输入是这样的:
Country: France
City: Paris
Street: Champ
然后把它放在长线上:
$line = $_POST['input'];
现在,我需要用 替换空格和新行<SP> and <BR>
,所以我这样做:
$line = str_replace(" ","<SP>",$line);
$line = str_replace("\n","<BR>",$line);
但我明白了:
Country:<SP>France <BR> <BR>City:<SP>Paris <BR> <BR>Street:<SP>Champ
现在,如果安装了 \n 我试过这个:
$line = str_replace("\r","<BR>",$line);
我得到类似的结果。如果我两者都做,我会得到相似的结果,其中显然有一些空格。所以然后我这样做:
$line = str_replace(" ","",$line);
但它保持不变。
我的整个代码是:
$line = str_replace(" ","<SP>",$line);
$line = str_replace("\n","<BR>",$line);
$line = str_replace(" ","",$line);
echo $line;
在这种情况下如何删除空格?
编辑:我做了bin2hex,发现空格实际上是回车\ r。所以这是解决方案:
$line = str_replace("\r","",$line);
为什么 \r 在这种情况下表现得像空间?
评论可能就足够了,但我想我会分享这个片段,以你的例子为例,我对你想要实现的目标有所评价。
<?php
// example string data
$str = "key1 value1 key2 value2 key3 value3";
// clean string
$str = str_replace(" ", " ",$str);
$str = str_replace("\n", " ", $str);
$str = str_replace("\r", " ", $str);
$arr = explode(" ", $str);
$out = "<ul>";
$cnt = 1;
foreach($arr as &$val) {
if ($cnt++ % 2 == 0) {
continue;
} else {
$out = $out . "<li>" . $val . ": " . current($arr) . "</li>";
}
}
$out = $out . "</ul>";
echo $out;
// output source
// <ul><li>key1: value1</li><li>key2: value2</li><li>key3: value3</li></ul>
?>
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/295555/abe280e3e51e3df04eb9/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!