PHP在字符串中查找并替换?

问题描述 投票:0回答:5

我有一些字符串,其中包含单词LIMIT 3, 199LIMIT 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 
php preg-replace str-replace
5个回答
2
投票

使用LIMIT.+$替换preg_replace与模式/LIMIT.+$/m

也就是说:

$string = preg_replace("/LIMIT.+$/m","",$string);

3
投票

使用strpos在字符串中找到LIMIT的位置,然后使用substr将字符串返回到该点。真的很基本的字符串操作。

或者如果你想要一个单行,也许可以使用preg_replace,虽然我不认为这里需要去正则表达式工具箱。


0
投票

使用strstrstristr(不区分大小写)。仅适用于版本>= php 5.3.0

$str = strstr($your_string, 'LIMIT', true);

0
投票

正如我建议你不理解它们时使用正则表达式,这里有一个不使用它们的简单答案(请注意,我建议学习正则表达式,但它们不容易学习):

$output = substr($input, 0, strpos($input, 'LIMIT'))

0
投票

你可以使用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 
© www.soinside.com 2019 - 2024. All rights reserved.