例えば
string = "これは re@lly 長い長い、長い! 文です";
になる
string = "これは長い文です";
基本的に、英数字以外のすべての単語またはスペースを残して削除
何か案は?
例えば
string = "これは re@lly 長い長い、長い! 文です";
になる
string = "これは長い文です";
基本的に、英数字以外のすべての単語またはスペースを残して削除
何か案は?
これを試してください:
preg_replace("/(^|\\s)\\S*?[^ a-zA-Z0-9]\\S*?(\\s|$)/", '$1', $string)
このようなものは非常に直感的だと思います:
<?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*
""