如何在PHP中的?, #, &, %, =
之类的某些字符后删除字符串的剩余部分?有任何想法吗?我试过了preg_replace()
,但我无法理解。
答案 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);