我有一些字符串,其中包含单词LIMIT 3, 199
或LIMIT 0, 100
。
基本上我想在我的字符串中替换LIMIT一词及其后的所有内容。
我如何在PHP中执行此操作? str_replace只替换一个项目和动态后的LIMIT文本/
所以它可能是
WHEN JOHN WAS TRYING HIS SQL QUERY, HE FOUND THAT LIMIT, 121
// RETURN WOULD BE
WHEN JOHN WAS TRYING HIS SQL QUERY, HE FOUND THAT
WHEN JOHN TRIED LIMIT 343, 333 HE FOUND
// RETURN WOULD BE
WHEN JOHN TRIED
使用LIMIT.+$
替换preg_replace
与模式/LIMIT.+$/m
也就是说:
$string = preg_replace("/LIMIT.+$/m","",$string);
使用strpos
在字符串中找到LIMIT
的位置,然后使用substr
将字符串返回到该点。真的很基本的字符串操作。
或者如果你想要一个单行,也许可以使用preg_replace
,虽然我不认为这里需要去正则表达式工具箱。
正如我建议你不理解它们时使用正则表达式,这里有一个不使用它们的简单答案(请注意,我建议学习正则表达式,但它们不容易学习):
$output = substr($input, 0, strpos($input, 'LIMIT'))
你可以使用strstr
$break = "LIMIT";
$array = array();
$array[] = "WHEN JOHN WAS TRYING HIS SQL QUERY, HE FOUND THAT LIMIT, 121";
$array[] = "WHEN JOHN TRIED LIMIT 343, 333 HE FOUND";
echo "<pre>";
foreach ( $array as $value ) {
echo strstr($value, $break, true), PHP_EOL;
}
产量
WHEN JOHN WAS TRYING HIS SQL QUERY, HE FOUND THAT
WHEN JOHN TRIED