Использовалось для получения первого абзаца содержания новости в ленте новостей.
$text = "<h3>Заголовок</h3><p>Первый абзац</p><p>Второй абзац</p><p>Третий абзац</p>";
$patern="#<[\s]*p[\s]*>([^<]*)<[\s]*/p[\s]*>#i";
if(preg_match($patern, $text, $matches)) echo "<span>".$matches[1]."..</span>";
В результате получим:
<span>Первый абзац..</span>
Понадобилось для поддержания валидности XHTML, когда при написании материалов для сайта теги пишут в верхнем регистре.
Преобразовываем все HTML-теги к нижнему регистру:
<?php
$src = "<H1>Заголовок</H1><P>ТеКст С БукВамИ</P>";
$src = preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $src);
echo $src;
?>
если использоваться будет многократно то в функцию:
<?php
function strtolowerTags($str) {
$str = preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $str);
return $str;
}
$test = "<H1>Заголовок</H1><P>ТеКст С БукВамИ</P>";
echo strtolowerTags($test);
?>
В результате получаем
<h1>Заголовок</h1><p>ТеКст С БукВамИ</p>
Про preg_replace: http://www.php.ru/manual/function.preg-replace.html
В примере мы проверяем длину поискового запроса. :)
$searchitem = $_POST['search'];
Первый вариант:
$lenght = strlen($searchitem);
echo $lenght;
С одной стороны все правильно, но если кодировка у нас UTF-8, то $n1
будет равно в 2 раза больше чем нам нужно, когда поисковый запрос на русском.
Правильный вариант:
$lenght = mb_strlen($searchitem, 'UTF-8');
echo $lenght;
По теме: http://www.e-mind.ru/news/view/?id=53
Как пример:
if (mb_strlen($searchitem, 'UTF-8') >= 4)
{
Функция_выполняющая_поиск_в_БД();
}
else
{
echo "Ошибка! :( Поисковый запрос не может быть менее 4 символов";
}
Определяем горизонтальная картинка или вертикальная и помещаем ее в div статических размеров.
while ($r = mysql_fetch_array($a))
{
$image_name = $r['img_name'];
$image_path = "/path/to/".$image_name;
$image_ext = end(explode(".", $image_path));
if ($image_ext == 'png')
{
$image_src = imagecreatefrompng($image_path);
}
else if ($image_ext == 'gif')
{
$image_src = imagecreatefromgif($image_path);
}
else
{
$image_src = imagecreatefromjpeg($image_path);
}
$width_src = imagesx($image_src);
$height_src = imagesy($image_src);
if ($width_src > $height_src)
{
$used_size = "width='100px'";
}
else
{
$used_size = "height='100px'";
}
imagedestroy($image_src);
echo "<div style='width: 110px; height: 110px; float: left;'><img ".$used_size." src='/path/to/".$image_name."' alt='some_text' /></div>";
}
Если используются функции например:
imagecreatefrompng($file);
imagecreatefromgif($file);
imagecreatefromjpeg($file);
то после всех необходимых операций обязательно:
imagedestroy($source);
или рано или поздно (если на страничке таким образом производится работа с большим количеством изображений или изображенями большого размера) будет примерно такое:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20232 bytes) in /home/username/data/www/mysite.local/pagename.php on line 44
Пример использования: http://krylov.org.ua/?p=688
Чтобы узнать, делится ли число например на 4, условие будет выглядеть так:
Как пример:
<?php
for ($num=1;$num<=100;$num++)
{
if (($num % 4) == 0)
{
echo "<b>".$num."</b> делится на 4<br/>";
}
else
{
echo "<b>".$num."</b> не делится на 4<br/>";
}
}
?>
Хотя правильнее для этого примера будет:
<?php
for ($num=1;$num<=100;$num++)
{
echo "<b>".$num."</b> ";
if (($num % 4) != 0)
{
echo "не ";
}
echo "делится на 4<br/>";
}
?>