2017-01-25 1 views
-4

私はこの問題は修正される必要がある文字列で、laravelで正規表現に問題がある:にpreg_replace phpのきれいな文字列

$testString = '""" 
\n 
              Brisel -- Proizvođači mleka iz raznih evropskih zemalja poprskali su danas zgradu EU u Briselu mlekom u prahu, u znak protesta zbog krize u njihovom sektoru. \n 

"""'; 

私はこのような文字列を取得したい:

$testString = Brisel- Proizvođači mleka iz raznih evropskih zemalja poprskali su danas zgradu EU u Briselu mlekom u prahu, u znak protesta zbog krize u njihovom sektoru. 

編集:解決策が見つかりました。

$str = str_replace(array('\n', '\r', '"'), '', $testString); 
$str = strip_tags($str); 
$testString = preg_replace(array("/^[A-Z a-z 0-9\\/\\\\.'\"]+/", "/\s+/"), ' ', $str); 

    echo $testString; 
    dd($testString); 
+0

正しくコード –

+1

二つの文字列の違いは何ですかをインデントしてください?その改行?あるいは '\ n'文字ですか?あなたが与えた最初の定義が有効なPHPでさえないので、あなたの実際の状況は現在明らかではありません...だから、他の人があなたが実際に尋ねるものを理解できるようにあなたの質問を修正する時間を取ってください。あなたの質問の下には 'edit'リンクがあります。 _Use it ... _ – arkascha

+0

私はdd($ testString)をやったとき、文字列の始点と文字列の最後に(\ nは空白と二重のqoutesを持つ)この文字列を持っていました。私はちょうど\ nと二重のqoutesなしでクリーンな文字列になりたい。 –

答えて

0

あなたの文字列が\nは、この場合には解釈されない、単一引用符の内側にある、それは改行ではない\nは、ままです。
は、あなたが行うことができ、それを削除するには、次の

$testString = '""" 
\n 
              Brisel -- Proizvođači mleka iz raznih evropskih zemalja poprskali su danas zgradu EU u Briselu mlekom u prahu, u znak protesta zbog krize u njihovom sektoru. \n 

"""'; 
$testString = preg_replace('/^[\\\n\W]+|[\\\n\W]+$/u', '', $testString); 
echo $testString,"\n"; 

出力:

Brisel -- Proizvođači mleka iz raznih evropskih zemalja poprskali su danas zgradu EU u Briselu mlekom u prahu, u znak protesta zbog krize u njihovom sektoru 
関連する問題