0

^とについては知って$いますが、それぞれではなく、文字列の最後の空の行を削除したいと考えています。

$s = 'Foo

Bar

Baz
';

として返す必要があります

$s = 'Foo

Bar

Baz;

正規表現を使用してPHPでどのように行うことができますか?

ここで試すことができます: http://codepad.viper-7.com/p3muA9

4

3 に答える 3

3
<?php

$s = 'Foo

Bar

Baz
';

$s_replaced = preg_replace('//', '', $s);

$s_replaced = rtrim($s_replaced);
$out = '<textarea cols=30 rows=10>'.$s_replaced.'</textarea>';

echo $out;

?>

を使用しrtrim()ます。

于 2012-05-05T10:47:27.967 に答える
1

使用する:

$s_replaced = preg_replace("/".PHP_EOL."$/", '', $s);
于 2012-05-05T10:48:14.750 に答える
0

これを試して:

で見つける:

(?s)\s+$

と置換する:

none

説明:

<!--
(?s)\s+$

Options: case insensitive; ^ and $ match at line breaks

Match the remainder of the regex with the options: dot matches newline (s) «(?s)»
Match a single character that is a “whitespace character” (spaces, tabs, and line breaks) «\s+»
   Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Assert position at the end of a line (at the end of the string or before a line break character) «$»
-->
于 2012-05-05T10:48:39.047 に答える