0

ハイフン、アンダースコアを除く文字列の先頭と末尾からすべての句読点を削除したい。

例: preg_replace() を使用した後、入力がspice-b32.Or Then 文字列の場合。lg_b32;する必要があります:spice-b32lg_b32;

preg_match('/^[A-Za-z0-9]/',$inm)データのバリデーション用途に も使ってみたのです$inm=preg_replace('/^\PL+|\PL\z/','',$inm);が、入力a!-read_結果がa!-read

ただし、出力は次のようになります。a-read

この preg_replace() または preg_match() が正しくない場合は、plz help..

4

2 に答える 2

0

どうですか

$arr = array('spice-b32.', 'lg_b32;', 'a!-read_');
foreach ($arr as $str) {
    echo preg_replace('/^[^\P{P}_-]+|[^\P{P}_-]+$/u', '', $str),"\n";
}

これにより、文字列の先頭または末尾からすべての句読点 (_およびを除く) が削除されます。-

出力:

spice-b32
lg_b32
a!-read_
于 2013-09-05T10:02:19.190 に答える