1

以下のユーザー定義関数があります。

function char_replace($line1){
    $line1= str_ireplace("Snippet:", "", $line1);
    // First, replace UTF-8 characters.
    $line1= str_replace(
    array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
    array("'", "'", '"', '"', '-', '--', '...'),
    $line1);
    // Next, replace their Windows-1252 equivalents.
    $line1= str_replace(
    array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
    array("'", "'", '"', '"', '-', '--', '...'),
    $line1);
}

$lineそして、爆発した複数の行の文字を置き換えていますが$line2、関数 char_replace に動的引数を適用したい場合は、$line3次のように文字を変換します。 $line1 = char_replace($line1)

関数の引数と str_replace/str_ireplace の引数を動的変数にしたいのですが、次のように別の行を変換できます: $random_line = char_replace($random_line) これは可能ですか?

4

3 に答える 3

3

私がこれを正しく読んでいる場合は、関数に return を追加するだけです。そう:

function char_replace($string){
  $string= str_ireplace("Snippet:", "", $string);
  // First, replace UTF-8 characters.
  $string= str_replace(
  array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
  array("'", "'", '"', '"', '-', '--', '...'),
  $string);
  // Next, replace their Windows-1252 equivalents.
  $string= str_replace(
  array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
  array("'", "'", '"', '"', '-', '--', '...'),
  $string);

  return $string;
}

これにより、任意の文字列を関数に渡して、変更された文字列を取得できます。

于 2012-05-07T18:57:38.503 に答える
1

関数に return ステートメントを追加したいだけですか:

function char_replace($line1){
    $line1= str_ireplace("Snippet:", "", $line1);
    // First, replace UTF-8 characters.
    $line1= str_replace(
    array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
    array("'", "'", '"', '"', '-', '--', '...'),
    $line1);
    // Next, replace their Windows-1252 equivalents.
    $line1= str_replace(
    array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
    array("'", "'", '"', '"', '-', '--', '...'),
    $line1);
    return $line1;
}
于 2012-05-07T18:57:38.247 に答える
1

関数を終了すると仮定すると、次のreturn $line1;ように呼び出すことができます。

$line1 = char_replace($line1);
$line2 = char_replace($line2);
$line3 = char_replace($line3);

関数定義で引数を呼び出す方法は問題ではありません。それらはその関数に対してローカルであり、その外部で別の名前を持つことができます。

于 2012-05-07T18:56:23.870 に答える