пятница, 19 февраля 2021 г.

preg_match_all вытаскивание данных и вывод результата PHP

 preg_match_all  функция глобального шаблона, вытаскивает всё что соответствует значению шаблона.

Например 

preg_match_all('/<a[^>]*?>(.*?)<\/a>/', $text, $matches);   //вытаскивание текста из ссылок

$text= какой то код html.

$matches = массив результата выборки.

foreach ($matches[1] as $val) {

echo $val."<br>"; 

}

перебираем массив и выводим результат.

$matches[0]

$matches[1]  

Элементы массива,

что конкретно нужно вывести можно посмотреть через

print_r($matches);

Перебор массива и вывод результата PHP

Как читать массив и вывести результат.

$text="какие то данные";

$mass=array($text); // объявляем массив

Начинаем перебирать массив по элементам  и выводим результат

 foreach ($mass as $element) {

echo $element."<br>";

}

Убрать дубли из массива

$m=array_unique($mass,SORT_REGULAR); // убирает дубли из массива

выводим данные без дублей

 foreach ($m  as $element) {

echo $element."<br>";

здесь можно сделать запись в БД

mysqli_query($connect,"INSERT INTO table VALUES('',."$element".,)");

}

таким образом каждый элемент массива запишется в таблицу отдельной строкой



вторник, 16 февраля 2021 г.

Регулярные выражения PHP

preg_replace

str_replace

$promo=preg_replace('/\s+/', ' ', $text);  заменяет длинные пробелы на одинарные

$promo=preg_replace('/<a[^>]*>.*?<\/a>/', '', $text);   заменяет все ссылки на пробел

$promo=str_replace('  ', ' + ', $text);  заменяет пробел на +

понедельник, 15 февраля 2021 г.

Поиск дублей в таблице Mysql

 Найти дубли записей в таблице довольно просто, обычный запрос

SELECT name FROM `table1` GROUP BY `name` HAVING count(name) >1  

выведет список где вхождение значения более одного.


Как убрать все дубли в таблице Mysql

 Очень просто, пишем запрос

ALTER IGNORE TABLE table1 ADD UNIQUE KEY(Name) 

 это приведет к удалению всех повторяющихся строк.




Как убрать пробелы в начале и конце записи Mysql

 С помощью функции TRIM

UPDATE table SET name=TRIM(name)

Как обновить заданное количество строк в Mysql

 Всё очень просто чтобы обновить только первые 100 записей пишем запрос

UPDATE table SET flag='1'  LIMIT 100



Как сделать увеличение картинки при наведении курсора

 Простое и эффективное решение на CSS.

 < style>
img.zoom {
cursor: pointer;
max-height: 150px;
}
img.zoom:hover {
max-height: none;
position: absolute;
z-index:999999;
}
< /style>
< img src='http://domen/image.jpg'  class='zoom' >

Даже если картинка в родительском блоке, при наведении она увеличиваться  не меняя дизайн страницы. Увеличение картинки происходит поверх всего, благодаря z-index. 

П Р И М Е Р: