Условный SQL на основе содержимого строки - PullRequest
1 голос
/ 01 июня 2011

Как судить по URL-адресу изображения: если ссылка содержит слова ads ad, то передайте insert в базу данных.Затем его следует вставить в первые данные и передать вторые.Спасибо,

PHP-код

foreach($data['image'] as $item) {
  $title = $item['title'];
  $image = $item['image_url'];
  mysql_query("SET NAMES utf8");
 mysql_query("INSERT INTO article (title, image) VALUES ('".$title."', '".$image."')");
}

JSON TREE

{
    "image": [
        {
            "title": "the big lake",
            "image_url": "http://localhost/json/image/the_big_lake.jpg"
        },
        {
            "title": "Nike Air",
            "image_url": "http://localhost/json/image/12087689_ads.jpg"
        }
    ]
}

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Я предполагаю, что вы хотите вставить все изображения, которые НЕ имеют "объявления" в URL-адресе ... если вы хотите ТОЛЬКО рекламу, замените === в операторе if на !==. Обязательно сохраните его как тройное-равное или восклицательное-двойное-равное.

Также обратите внимание, что это не очень надежный метод - что, если изображение называлось "my_dad_and_mom.jpg". Он содержит «объявление», но не является рекламой.

foreach($data['image'] as $item) {
  if (strpos($item['image_url'], 'ad') === false) {
    mysql_query("SET NAMES utf8"); // not sure why this is needed....
    mysql_query("INSERT INTO article (title, image) VALUES ('".$item['title']."', '".$item['image_url']."')");
  }
}

РЕДАКТИРОВАТЬ: Это вроде бы быстро и грязно ...

    $forbidden_words = array(
        'ads',
        'ad',
        'sex',
        'xxx'
    );
    function str_in_array($str, $array) {
        foreach ($array as $token) {
            if (stristr($str, $token) !== FALSE)
                return true;
        }
        return false;
    }
foreach($data['image'] as $item) {
  if (str_in_array($item['image_url'], $forbidden_words) === false) {
    mysql_query("SET NAMES utf8"); // not sure why this is needed....
    mysql_query("INSERT INTO article (title, image) VALUES ('".$item['title']."', '".$item['image_url']."')");
  }
}
1 голос
/ 01 июня 2011

как это?

foreach($data['image'] as $item) {
  $title = $item['title'];
  $image = $item['image_url'];
  if(preg_match('/ad/',$image){
    mysql_query("SET NAMES utf8");
    mysql_query("INSERT INTO article (title, image) VALUES ('".$title."', '".$image."')");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...