PHP str заменить заменить пробелы на символы подчеркивания
есть ли причина, по которой я не вижу, почему это не работает?
$journalName = $_POST['journalName'];
$journalName = str_replace(' ', '_', $journalName);
$_SESSION['journalName'] = $journalName;
echo $_SESSION['journalName'];
выходные данные по-прежнему включают пробелы... Любые идеи были бы удивительными
4 ответов
Я предлагаю вам использовать это, поскольку он будет проверять как одно, так и несколько вхождений пробела (как предложил Лукас Грин).
$journalName = preg_replace('/\s+/', '_', $journalName);
вместо:
$journalName = str_replace(' ', '_', $journalName);
попробуйте это вместо этого:
$journalName = preg_replace('/\s+/', '_', $journalName);
объяснение: вы, скорее всего, видите пробелы, а не просто пробелы (есть разница).
для замены одного совпадающего символа используйте как str_replace:
$string = str_replace(' ', '_', $string);
для замены всех совпадающих символов используйте человек:
$string = preg_replace('/\s+/', '_', $string);