英数字以外の文字をすべて削除し、複数の空白と改行を単一のスペースに置き換え、開始スペースと終了スペースを削除する$textがあります。
これがこれまでの私の解決策です。
$text = '
some- text!!
for testing?
'; // $text to format
//strip off all non-alphanumeric chars
$text = preg_replace("/[^a-zA-Z0-9\s]/", "", $text);
//Replace multiple white spaces by single space
$text = preg_replace('/\s+/', ' ', $text);
//eliminate beginning and ending space
$finalText = trim($text);
/* result: $finalText ="some text for testing";
without non-alphanumeric chars, newline, extra spaces and trim()med */
これらすべてを1つの正規表現に組み合わせて実現することは可能ですか?以下のように1行で目的の結果が得られるため
$finalText = preg_replace(some_reg_expression, $replaceby, $text);
ありがとう
編集:テスト文字列で明確化