Пару полезных вещей на PHP

Что бы не забыть, пару функций

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

$arr = array(2, 3, 4, 2, 5, 2);
function delEl($arr, $del) {
   foreach($arr as $val)  { if($val !== $del) $newArr[] = $val; }
   return $newArr;
}
// Пример
$checkDelEl = delEl($arr, 2);  // Удалим все "2" из массива $arr
print_r($checkDelEl);  // Array ( [0] => 3 [1] => 4 [2] => 5 )

Выковырять ссылки изображений

preg_match_all('/<img[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/',$content,$matches);
print_r($matches[2]);

Выводим результат из массива:

if ($matches[2][0]!='') {
   echo "<img src='".$matches[2][0]."' alt=''/>";
}

где:
$content — может быть спарсеный код который содержит изображения.

Получить домен из url

parse_url($url,PHP_URL_HOST);

Первые n слов из текста

Ограничение на количество выводимых слов:

function limit_words($string, $word_limit) {
	$words=explode(" ",$string);
	return implode(" ",array_splice($words,0,$word_limit));
}

Ограничение по количество символов с сохранением слова, без обрезания:

function getPrewText($text,$maxwords=60,$maxchar=50) {
	//$text=strip_tags($text);
	$words=split(' ',$text);
	$text='';
	foreach ($words as $word) {
		if (mb_strlen($text.' '.$word)<$maxchar) {
			$text.=' '.$word;
		}
		else {
			$text.='...';
			break;
		}
	}
	return $text;
}

Заменить переводы строк на <br/>

$text=preg_replace("/[\n\r]+/s","<br/>",$text);

Либо использовать стандартную функцию

nl2br();

Перевернуть строку (реверс строки)

$str=strrev($str);

Переменные переменных

$var = "world";
$hello_world = "Hi for us";        
print ${"hello_".$var};  // принтануть $hello_world
// выведет Hi for us

Пока хватит 🙂
Источник: интернет.


Один комментарий для “Пару полезных вещей на PHP”

  • Александр

    Удалить из массива элементы с определенным значением v.2

    <?php
    $arr = array(2, 3, 4, 2, 5, 2);
    function delEl(&$arr, $del) {
    $arr = array_filter($arr, function($item) use ($del) { return $item!==$del; });
    return $arr;
    }
    delEl($arr,2);
    var_dump($arr);

Оставьте комментарий