2016-10-24 1 views
1

MySQL 데이터베이스에서 삭제 :텍스트 사이에 URL을 발견하고 내가해야 할 것은

  1. 긴 텍스트 필드 내부의 URL 텍스트를 찾습니다.
  2. 텍스트에서 URL을 잘라냅니다.
  3. 텍스트 필드를 새 값으로 업데이트하십시오.

지금까지 나는 다음과 같은 코드를 사용하여 긴 텍스트 내부의 URL을 찾을 수 있습니다 SELECT 쿼리의 모든 대신의 텍스트를 보유 만 럼 이름을 선택

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

답변

0

우선도의 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); 
} 
관련 문제