2017-09-27 4 views
0

を用いて除去し、引用符( ")と同じ文字列の文字列を置き換える -使用正規表現は、私は複数行の文字列は、以下を示しているPHP

?a="text1 
    ?bc="text23 

私は正規表現の下使用のようなパターンを識別するために必要

'/[?][a-z^A-Z]+[=]["]/' 

とそれに二重引用符( ")を削除することによって、私の文字列を置換、期待される出力が

?a=text1 
?b=text23 

の下に示されていますphpを使って上記の問題を解決してください。

+0

http://php.net/manual/en/function.preg-replace.php – AbraCadaver

+0

二重引用符を置き換えるために同じ見つかった文字列を保持する必要があります –

+0

'='と '" 'は予約文字ではありません正規表現の場合、文字クラスにする必要はありません – chris85

答えて

3

キャプチャグループ()で引用以外のすべてをキャプチャして置き換えますので、私は別のソリューションを提供します

/(\?[a-z^A-Z]+=)"/ 
+0

質問には書かれていませんが、 1文字にトリムする.eg 'bc'が' b'になった(それはちょうどタイプミス) – chris85

+1

私はちょうどit_の二重引用符( ")を取り除いて_ – AbraCadaver

0

$string = preg_replace('/([?][a-z^A-Z]+[=])["]/', '$1', $string); 

をしかし、あなたが本当にこれらすべての文字クラス[]を必要としません私はまた、PHPのタグを参照してください。それでは、あなたはこれらを持っているとしましょう:

$a='"text1'; 
$b='"text2'; 

私はそれらをエコー場合、私はあなたがそのように使用することができ、PHPの関数のトリムがあり、二重引用符を取り除くために

"text1 
"text2 

を得る:

echo trim($a,'"'); 
echo trim($b,'"'); 

結果は次のようになります

text1 
text2 

私はあなたがこの機会に正規表現がPHPを使用する限り必要と思わない。 PHPは、複雑な正規表現を気にすることなく、小さなものの世話をすることができます。

関連する問題