0

这真的很奇怪,因为我检查了我连接的两个字符串在 HTML 源代码中它们之间没有空格。但是,当 PHP 解析我update.php文件中的文本时,它会返回string1 string2而不是string1string2预期的输出。

什么地方出了错?

更新.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; 
4

4 回答 4

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);
于 2012-12-31T06:15:59.633 回答
2

可能尝试使用修剪而不是替换。

    trim(substr($string1,14));

希望有帮助。

于 2012-12-31T06:11:14.923 回答
1

填充文件名后,您可以使用

$filename = str_replace(" ", "", $filename);

但考虑到我们还没有弄清楚问题出在哪里,这不是一个合适的解决方案,它只是一个修复。所以首先找到问题,这样你就知道它为什么会发生

然后以某种方式从发布这些值的表单中获取换行符。尝试这个

$filename = str_replace("\r", "", $filename);
$filename = str_replace("\n", "", $filename);
于 2012-12-31T06:14:58.247 回答
0

我通过使用以下方法解决了它:

echo str_replace(PHP_EOL, '', $filename);
于 2012-12-31T06:32:32.727 回答