Php 在文本中查找Url并在mysql数据库中删除

Php 在文本中查找Url并在mysql数据库中删除,php,mysql,wordpress,Php,Mysql,Wordpress,我需要做的是: 在长文本字段中查找url文本 从文本中剪切url 使用新值更新文本字段 到目前为止,我可以通过以下代码在长文本中找到Url: SELECT colomname FROM tablename WHERE colomname REGEXP "(https?:\/\/|www\.)[\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}" 首先,在SELECT查询中,不要只选择保存文本的columnname,还要选择记录的id。您可以在php中使用查询结果并对其进行循环。在循

我需要做的是:

  • 在长文本字段中查找url文本
  • 从文本中剪切url
  • 使用新值更新文本字段
  • 到目前为止,我可以通过以下代码在长文本中找到Url:

    SELECT colomname FROM tablename
     WHERE colomname REGEXP "(https?:\/\/|www\.)[\.A-Za-z0-9\-]+\.[a-zA-Z]{2,4}"
    

    首先,在
    SELECT
    查询中,不要只选择保存文本的columnname,还要选择记录的id。您可以在php中使用查询结果并对其进行循环。在循环中,您将执行以下操作:

    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);
    }