如何?, #, &, %, =
在 PHP 中的某些字符之后删除字符串的剩余部分?有任何想法吗?我试过preg_replace()
了,但我无法弄清楚。
问问题
2308 次
3 回答
0
这应该有效:
$str = "Hello World#somesuffixstr";
preg_match("/^(.*?[?#&%=]).*/", $str, $str);
echo $str[1];
// Should output "Hello World#"
关于正则表达式模式:
它搜索字符串的开头 (^),然后搜索任何字符 0 次或多次(即组 #1),然后搜索 & 或 % 之类的符号,然后搜索任何字符 0 次或多次。它用组#1 中匹配的字符替换字符串。
于 2012-12-06T00:08:07.027 回答
0
更新,才发现我看错了。你在寻找之前的东西,而不是之后。更新代码:
$test_string = 'remember?forget';
preg_match('/([^?#&%=]+)/', $test_string, $matches);
$part_before_char = $matches[1];
运行后,$part_before_char = 'remember'
于 2012-12-05T23:48:36.593 回答
-1
$str = 'mystring#deletedpartofstring';
$str = preg_replace('/[?#&%=].+/', '', $str);
于 2012-12-05T23:49:22.993 回答