0

これは非常に初心者の質問の1つですが、問題がどこにあるのかわからないので、ご容赦ください...

これが私が達成しようとしていることです->$new = 'OMG_This_Is_A_One_Stupid_Error';

これが私がこのコードから得ているものです->$new = 'OMG This Is A One Stupid_Error';

<?php 
    $find = 'OMG This Is A One Stupid Error'; //just an example
    $offset = 0;
    $search = ' ';
    $length = strlen($search);
    $replace = '_';
    while($substring = strpos($find, $search,$offset))
    {
        $new =  substr_replace($find, $replace,$substring,$length);
        $offset = $substring + $search_length;
    }   
    echo $new;
?> 
4

3 に答える 3

7

str_replace()関数を使用します。

<?php
    $old = 'OMG_This_Is_A_One_Stupid_Error';
    $new = str_replace(' ', '_', $old);
    echo $old; // will output OMG This Is A One Stupid error
?>

パラメータを逆にして、逆の効果を得る

<?php
    $old = 'OMG This Is A One Stupid_Error';
    $new = str_replace('_', ' ', $old);
    echo $old; // will output OMG_This_Is_A_One_Stupid error
?>
于 2012-09-17T14:08:44.417 に答える
1

str_replace()を紹介させてください

$var = str_replace(' ', '_', $var);
于 2012-09-17T14:08:53.277 に答える
0

str_replaceを使用できます

ソース文字列にアンダースコアをスペースに置き換えたいだけの場合は、次を使用します。

$source = 'OMG This Is A One Stupid Error'; //just an example

// $new is: OMG_This_Is_A_One_Stupid_Error
$new = str_replace(' ', '_', $source);

ソース文字列がより大きな文字列のサブ文字列である場合は、次のように実行できます。

$source     = 'This is a question for SO. '
            . 'OMG This Is A One Stupid Error';
$to_replace = 'OMG This Is A One Stupid Error';
$target     = str_replace(' ', '_', $to_replace);

// Finally replace the target string
$new = str_replace($to_replace, $target, $source)

// $new is: This is a question for SO. OMG_This_Is_A_One_Stupid_Error
于 2012-09-17T14:14:50.010 に答える