DeepVarvar, мне очень в тебе нравиться то, что если тема с проблемой создана, а потом закрыта и при этом не опубликовано решение, то ты обязательно скажешь: "а ну, давай чувак, колись, как решена проблема?"
Получается, что эта тема пересеклась с моей другой: http://forum.php.su/topic.php?fo...4&topic=2363 Т.к., решение я нашёл, но не мог потом разобраться с регуляркой – нужно было обойтись одной регуляркой а не двумя.
Короче, вот такой я нашёл выход, возможно он не самый лучший, но меня пака устраивает...
PHP:
скопировать код в буфер обмена
<?PHP include('config_db.php'); $country_code = preg_replace('/^(1905|1902|1876|1869|1868|1867|1819|1809|1807|1784|1780|1778|1767|1758|1709|1705|1684|1671|1670|1664|1649|1647|1613|1604|1599|1519|1514|1506|1473|1450|1441|1418|1416|1403|1345|1340|1306|1289|1284|1268|1264|1250|1249|1246|1242|1204|998|996|995|994|993|992|977|976|975|974|973|972|971|970|968|967|966|965|964|963|962|961|960|886|880|870|856|855|853|852|850|692|691|690|689|688|687|686|685|683|682|681|680|679|678|677|676|675|674|673|672|670|599|598|597|595|593|592|591|590|509|508|507|506|505|504|503|502|501|500|423|421|420|389|387|386|385|382|381|380|378|377|376|375|374|373|372|371|370|359|358|357|356|355|354|353|352|351|350|299|298|297|291|290|269|268|267|266|265|264|263|262|261|260|258|257|256|255|254|253|252|251|250|249|248|245|244|243|242|241|240|239|238|237|236|235|234|233|232|231|230|229|228|227|226|225|224|223|222|221|220|218|216|213|212|98|95|94|93|92|91|90|86|84|82|81|66|65|64|63|62|61|60|58|57|56|55|54|53|52|51|49|48|47|46|45|44|43|41|40|39|36|34|33|32|31|30|27|20|7|1)\d{6,}/','$1', $phone); if ($country_code == $phone) { mysql_query('INSERT INTO `tablica_01` (`phone`, `country_code`) VALUES ("'.$phone.'", "UNKNOWN")'); } else{ mysql_query('INSERT INTO `tablica_01` (`phone`, `country_code`) VALUES ("'.$phone.'", "'.$country_code.'")'); } ?>
Получаю телефон в переменной $phone, пропускаю его через регулярку $country_code с перечнем тел.кодов. Если тел.код не найден, значит переменные $phone и $country_code будут у нас равны и содержать одно и тоже – делаем «if». А если код страны выдран из телефона, то $phone и $country_code уже имеют разное содержание – делаем «else». В регулярке, тел.коды должны идти от длинного к короткому.
ПС. Я не знаю как насчёт быстродействия, наверно можно как-то через массив, но я не знаю как это делать. Я только учуззь.
|