2012-04-17 10 views
0

私は必要な形式にデータを入力するためにデータを入力しています。私はこのようなルックスを入力していたデータ:最後の括弧を文字列で削除する

POTTERTON PUMA 80 E(SIT/HONEYWELL)(このモデルのALL PARTS)
POTTERTON PUMA 80 E(SIT/HONEYWELL)(FRAME - 配管)
POTTERTON TATTLERキングフィッシャーRS 46(このモデルのALL PARTS)
POTTERTON PUMA 100 E(SIT/HONEYWELL(このモデルのALL PARTS)
POTTERTON PUMA 100 E(SIT/HONEYWELL(FRAME - 配管)

たまにあります2括弧のセット、時には1つがあり、時には閉じられていない括弧が1つあり、最後にもう1つのセットがある。 SEDそれは次のようになります。

POTTERTON PUMA 80 E(SIT/HONEYWELL)、POTTERTON TATTLERキングフィッシャーRS 46、POTTERTON PUMA 100 E(SITは/ HONEYWELLは

は、だから私は基本的に繰り返しoccurancesを除去し、最後にしたいです角括弧が削除されました。私が書いたコードは大部分のデータを処理しますが、すべての括弧を削除します。

これは私のコードです:

<?php 
if ($_SERVER['REQUEST_METHOD'] != 'POST') { 
?> 
<form action="<?php the_permalink(); ?>" method="post"> 
    <textarea style="width:1000px;height:350px;" name="like"></textarea> 
    <button>Submit</button> 
</form> 
<?php 
} else { 
    $fits = $_POST['like']; 
    $fits = str_replace(" (","(",$fits); 
    $fits = preg_replace("/\([^\)]+\)/","", $fits); 
    $fits = explode("\n", str_replace("\r", "", $fits)); 
    $fits = array_unique($fits); 
    $comma_separated = implode(', ', $fits); 
    echo $comma_separated; 
} 
?> 

答えて

1

変更行:

$fits = preg_replace("/\([^\)]+\)/","", $fits); 

+0

私が必要としていたこと、ありがとうM42 –

+0

@ StuartTaylor-Jones:あなたは歓迎ですが、答えを受け入れることができます:-) – Toto

0

あなたは、正規表現ベースの検索でこれを行うと置き換えることができます。

$line = preg_replace(
    array('~(*ANYCRLF)^(.*)\s+\([^\(\)]+\)$~m', '~(*ANYCRLF)\R~'), 
    array('$1',         ','), 
    $block 
); 
関連する問題