【发布时间】:2016-10-24 07:20:58
【问题描述】:
我需要做的是:
- 在长文本字段中查找 url 文本。
- 从文本中剪切 url。
- 使用新值更新文本字段。
到目前为止,我可以使用以下代码在长文本中找到 Url:
SELECT colomname FROM tablename
WHERE colomname REGEXP "(https?:\/\/|www\.)[\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}"
【问题讨论】:
我需要做的是:
到目前为止,我可以使用以下代码在长文本中找到 Url:
SELECT colomname FROM tablename
WHERE colomname REGEXP "(https?:\/\/|www\.)[\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}"
【问题讨论】:
首先在SELECT 查询中,不要只选择包含文本的列名,还要选择记录的id。您可以使用查询结果并在 php.ini 中对其进行循环。在循环中你会这样做:
foreach ($data as $item) {
$text = preg_replace('/https?://|www.)[.A-Za-z0-9-]+.[a-zA-Z]{2,4}/', '', $item['columnname']);
$pdoData = [':text' => $text, ':id' => $id];
$stmt = $pdo->prepare('UPDATE table SET columnname=:text WHERE id=:id');
$stmt->execute($pdoData);
}
【讨论】: