私の要件は、アンダースコアを除くすべての特殊記号を文字列から削除することです。
私は使っている..
$string = 'text-text_text+text@text(text)text&text.text*text\text/text';
$columnName = preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '_', $string);
出力:
text-text_text_text_text(text)text&text.text_text_text_text
ただし、ピリオド、アンパサンド、括弧、およびダッシュは削除されません。この正規表現を作成している間、私は無力感を感じました。助けてください..