0

これは、文字列を分析するためのものです...文字列を分解してすべての文字を取得する必要があります。基本的:

$string = "This is (1990-2002) some, text [after] this.";

これを取得するにはどうすればよいですか:

$string = "This is ( 1990 - 2002 ) some , text [ after ] this .";

これは次のようになります。

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

注: 二重スペースが挿入されて削除されても問題ありません...

4

3 に答える 3

4

これを試して:

$string = "This is (1990-2002) some, text [after] this.";
$pattern = '/([^a-zA-Z0-9])/';
$replace_pattern = ' $1 ';
echo preg_replace($pattern, $replace_pattern, $string);
于 2012-10-06T23:45:38.737 に答える
2
 $string = 'This is (1990-2002) some, text [after] this.';

 $replace = preg_replace("/([^a-zA-Z0-9\s])/", " $1 ", $string);
 // This is ( 1990 - 2002 ) some , text [ after ] this .
于 2012-10-07T00:05:45.347 に答える
0
$out = '';
for ($i = 0; $i<strlen($string); $i++) {
    if(ctype_alnum($string[$i])) {
        $out .= $string[$i];
    } else {
        $out .= ' ' . $string[$i] . ' ';
    }
}
// $out contains the fixed string
于 2012-10-06T23:39:11.947 に答える