如何在PHP中的另一个字符串内的某个位置捕获字符串?

时间:2014-09-08 18:13:28

标签: php

我需要替换成像这样的数十万个SQL行:

UPDATE table1 SET id = 2651,label ='Black'WHERE tableid = 2651;

如何在单引号内捕获单词(在本例中为'Black')?

2 个答案:

答案 0 :(得分:2)

如果您以字符串形式处理该请求,请使用preg_matchpreg_replace执行以下操作:

$req = "UPDATE table1 SET id = 2651,label = 'Black' WHERE table.id = 2651;"

  • 捕获单词' Black'在$req中:
    $pat = '/label = \'(.*?)\'/'; preg_match($pat, $req, $matches); echo $matches[1];

  • 更换单词' Black'在$req中(上述步骤不是必需的):
    $newReq = preg_replace('/label = \'(.*?)\'/', 'label = \'white\'', $req); echo $newReq;

答案 1 :(得分:0)

使用正则表达式 - 查看preg_replace的文档。要匹配label = 'Black',您可以使用正则表达式:label\s*=\s*\'Black\'