0

私のバイオ情報では、ユーザーは次のように適切な間隔を使用せずに文を入力することがあります。

$bio = 'Hey there,I'm Tom!And I'm 25';

カンマを修正するためにpregreplaceを使用します:

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

どのエコーですか:

$bio = 'Hey there, I'm Tom!And I'm 25';

'(私から)を除く他のすべての句読点に対してこれを行うにはどうすればよいですか?

何か案は?

4

1 に答える 1

0

配列でpreg_replaceを使用できます。

まず、次のように置き換える配列記号を作成します。

$signs = array('/,/', '/!/', '/?/');

置換された別のアレイより

$replacement = array(', ', '! ', '? ');

ここで、preg_replaceで両方の配列を使用します。

preg_replace($signs, $replacement, $bio);

次の記号がまだ聖霊降臨祭ではないことを確認するには、次のように各文字に対してより複雑な正規表現を使用できます。

$signs = array('/,(\S)/', '/!(\S)/', '/?(\S)/');
$replacement = array(', $1', '! $1', '? $1');

http://php.net/manual/de/function.preg-replace.php

于 2012-06-20T11:53:26.940 に答える