0

例えば

string = "これは re@lly 長い長い、長い! 文です";

になる

string = "これは長い文です";

基本的に、英数字以外のすべての単語またはスペースを残して削除

何か案は?

4

2 に答える 2

2

これを試してください:

preg_replace("/(^|\\s)\\S*?[^ a-zA-Z0-9]\\S*?(\\s|$)/", '$1', $string)
于 2010-05-31T00:40:55.353 に答える
1

このようなものは非常に直感的だと思います:

<?php

$text = "This is a #@^!%$ re@lly long long,long! sentence";
print preg_replace("/\\w*[^\\w\\s]\\w*\\s*/", "", $text);

?>

出力は次のとおりです ( ideone.com で見られるように):

This is a long sentence

これは、任意のシーケンス(単語文字でも空白文字でもない) が続き、その後に任意のシーケンスが\w*続く と一致することで機能します。これに一致するものはすべて削除できるため、 に置き換えられます。[^\w\s]\w*\s*""

こちらもご覧ください

于 2010-05-31T03:46:22.470 に答える