1

?, #, &, %, =PHPのように、特定の文字の後の文字列の残りの部分を削除するにはどうすればよいですか? 何か案は?してみpreg_replace()ましたが、わかりませんでした。

4

3 に答える 3

0

更新、私がそれを間違って読んだことに気づきました。あなたは後ではなく、前に何かを探しています。更新されたコード:

$test_string = 'remember?forget';
preg_match('/([^?#&%=]+)/', $test_string, $matches);
$part_before_char = $matches[1];

実行後、$ part_before_char='覚えている'

于 2012-12-05T23:48:36.593 に答える
0

これはうまくいくはずです:

$str = "Hello World#somesuffixstr";
preg_match("/^(.*?[?#&%=]).*/", $str, $str);
echo $str[1];
// Should output "Hello World#"

正規表現パターンについて:
文字列の先頭 (^)、次に任意の文字 (グループ #1) を 0 回以上検索し、次に & や % などの記号を検索し、次に任意の文字を 0 回以上検索します。文字列をグループ #1 で一致した文字に置き換えます。

于 2012-12-06T00:08:07.027 に答える
-1
$str = 'mystring#deletedpartofstring';

$str = preg_replace('/[?#&%=].+/', '', $str);
于 2012-12-05T23:49:22.993 に答える