web-dev-qa-db-ja.com

PHP str_replaceはスペースをアンダースコアに置き換えます

私が見ていない理由、これが機能しない理由はありますか?

    $string = $someLongUserGeneratedString;
    $replaced = str_replace(' ', '_', $string);
    echo $replaced;

出力にはまだスペースが含まれています...任意のアイデアは素晴らしいでしょう

45
Gisheri

これを使用することをお勧めします。これは、単一のスペースと複数のスペースの両方の発生をチェックするためです(Lucas Greenによって提案されています)。

$journalName = preg_replace('/\s+/', '_', $journalName);

の代わりに:

$journalName = str_replace(' ', '_', $journalName);
125
Laurent Brieu

代わりにこれを試してください:

$journalName = preg_replace('/\s+/', '_', $journalName);

説明:単なる空白だけでなく、空白が表示される可能性が最も高い(違いがあります)。

14
Lucas Green

1つの一致した文字の置換には、str_replaceを使用します。

$string = str_replace(' ', '_', $string);

一致するすべての文字の置換には、preg_replaceを使用します。

$string = preg_replace('/\s+/', '_', $string);
4
Ravi Patel

代わりにこれを試してください:

$journalName = str_replace(' ', '_', $journalName);

空白を削除するには

0
IsaacP