php удалить все кроме цифр (оставить только цифры)

$xml.="\t\t\t\t<param name=\"Фасовка\" unit=\"кг\">".preg_replace('/[^0-9]/','',$db->f('f_116_ru'))."</param>\r\n";
$xml.="\t\t\t\t<param name=\"Фасовка\" unit=\"кг\">".preg_replace('~[^0-9]+~','',$db->f('f_116_ru'))."</param>\r\n";
$xml.="\t\t\t\t<param name=\"Фасовка\" unit=\"кг\">".preg_replace('~\D+~','',$db->f('f_116_ru'))."</param>\r\n";
Categories: PHP, Web Tags:

mysql: найти дубли по 2 столбцам

Находим строки в которых и значение chpu и parent_chpu одинаковы

SELECT x.* FROM seo AS x WHERE x.chpu IN ( SELECT y.chpu FROM seo AS y GROUP BY y.chpu,y.parent_chpu HAVING COUNT(*) > 1 ) ORDER BY chpu
Categories: Web Tags:

php — strtolower кроме первой буквы (слово с большой буквы)

Лучший вариант:

<?=mb_convert_case($item['name'],MB_CASE_TITLE,'UTF-8')?>

Не получится преобразовать всю строку в нижний регистр, а затем сделать первую букву заглавной:

<?=ucfirst(strtolower($item['name']))?>

Не будет работать для кириллицы.

<?=ucfirst(mb_strtolower($item['name'],'UTF-8'))?>

Преобразует строку в нижний геристр, но не сделает первую букву заглавной.

Categories: PHP, Web Tags:

php nofollow для внешних ссылок автоматически

function add_nofollow($text){
	return preg_replace('/href="(http:\/\/.*?)"/','href="$1" rel="nofollow"',$text);
}
Categories: PHP, Web Tags:

Пример генерации артикулов

Генерируем в формате A + id с ведущим нулем (7 цифр)

$ac=get_from_base('*','catalog','1','id');
foreach($ac as $c){
	mysql_query("UPDATE `catalog` SET `code`='A".str_pad($c['id'],7,'0',STR_PAD_LEFT)."' WHERE id='".$c['id']."'");
}

т.е. для товара с id 1458 получим артикул A0001458

Categories: PHP, Web Tags: ,

str_replace не внутри ссылок

if(!preg_match_all("|<a.* href=(.*)>(.*)".$word."(.*)</a>|U",$text,$out)){
}

http://phpclub.ru/talk/threads/Замена-слов-ссылками-с-игнорированием-замены-внутри-ссылки.59457/
Полный текст примера из источника:

//Функция замены по маске
function GlossaryFilter($text){
	//Прочли файл
	$glossfile=@file($_SERVER['DOCUMENT_ROOT']."/cache/glossary.txt");
	foreach($glossfile as $mask_word){
		$token=explode("|",$mask_word);
		//Если найдено слово из списка
		if(stristr(trim($text),$token[0])){
			//Проверка присутствие ключевого слова внутри ссылки
			if(!preg_match_all("|<a.* href=(.*)>(.*)".$token[0]."(.*)</a>|U",$text,$out)){
				//Заменяем его на ссылку
				$text=str_replace($token[0],"<a href=\"".trim($token[1])."\" target=\"_blank\">".$token[0]."</a>",$text);
			}
		}
	}
	//Вернули текст
	return $text;
}
Categories: PHP, Web Tags:

htaccess .html remove

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
Categories: Web Tags: