这真是奇怪,因为我检查了我连接的两个字符串在HTML源代码中没有空格。但是,当PHP解析我的update.php
文件中的文本时,它会返回string1 string2
而不是string1string2
这是预期的输出。
出了什么问题?
Update.php
<?php
$string1 = $_POST['string1'];
$string2 = $_POST['string2'];
$filename = str_replace(" ", "", substr($string1, 14))
. str_replace(" ", "", substr($string2, 11));
echo $filename;
?>
$_POST['string1'] = Exchange Name: Osaka;
$_POST['string2'] = Stock Name: 20;
答案 0 :(得分:3)
$string1 = "Exchange Name: Osaka";
$string2 = "Stock Name: 20";
$pattern = '/[\W]/i'; // you can add extra conditions to handle other chars as well
$replacement = "";
echo preg_replace($pattern, $replacement, $string1)
. preg_replace($pattern, $replacement, $string2);
答案 1 :(得分:2)
可能尝试使用trim而不是替换。
trim(substr($string1,14));
希望有所帮助。
答案 2 :(得分:0)
填充文件名后,您可以使用
$filename = str_replace(" ", "", $filename);
但考虑到我们尚未找出问题所在,这不是一个合适的解决方案,它只是一个修复。所以首先找到问题所以你知道它为什么会发生
然后不知何故,你从发布这些值的表单中获取新的行字符。试试这个
$filename = str_replace("\r", "", $filename);
$filename = str_replace("\n", "", $filename);
答案 3 :(得分:0)
我使用以下方法解决了这个问题:
echo str_replace(PHP_EOL, '', $filename);