preg_replace php clean string

时间:2017-01-25 09:49:36

标签: php regex laravel preg-replace preg-match

我在laravel中遇到正则表达式的问题,这是需要修复的字符串:

$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);

1 个答案:

答案 0 :(得分: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