$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";
Архив
2016 год
Всего: 67 записей
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
php — strtolower кроме первой буквы (слово с большой буквы)
Лучший вариант:
<?=mb_convert_case($item['name'],MB_CASE_TITLE,'UTF-8')?>
Еще вариант (не тестировался):
function mb_ucfirst($text){ return mb_strtoupper(mb_substr($text,0,1)).mb_substr($text,1); } echo mb_ucfirst(mb_strtolower($str));
Не получится просто преобразовать всю строку в нижний регистр, а затем сделать первую букву заглавной.
Не будет работать для кириллицы:
<?=ucfirst(strtolower($item['name']))?>
Преобразует строку в нижний регистр, но не сделает первую букву заглавной:
<?=ucfirst(mb_strtolower($item['name'],'UTF-8'))?>
php nofollow для внешних ссылок автоматически
function add_nofollow($text){ return preg_replace('/href="(http:\/\/.*?)"/','href="$1" rel="nofollow"',$text); }
Пример генерации артикулов
Генерируем в формате 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
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; }
htaccess .html remove
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]