某个字符后删除字符串?

时间:2012-12-05 23:45:07

标签: php regex string

如何在PHP中的?, #, &, %, =之类的某些字符后删除字符串的剩余部分?有任何想法吗?我试过了preg_replace(),但我无法理解。

3 个答案:

答案 0 :(得分:0)

更新,刚刚意识到我读错了。你之前寻找的东西,而不是之后。更新的代码:

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

运行后,$ part_before_char ='记住'

答案 1 :(得分:0)

这应该有效:

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

关于正则表达式:
 它搜索字符串(^)的开头,然后搜索任何字符0次或更多次(即组#1),然后像&这样的符号。或%,然后任何字符零次或多次。它用字符串#1中匹配的字符替换字符串。

答案 2 :(得分:-1)

$str = 'mystring#deletedpartofstring';

$str = preg_replace('/[?#&%=].+/', '', $str);