Вывод изображения:
$message.='<img src="https://'.$_SERVER['HTTP_HOST'].'/image.php?text='.urlencode('пример текста').'&image=picture_name"/>';
Содержание файла image.php:
<?php
if($_GET['text']&&$_GET['image']){
header("Content-type: image/jpeg");
$bg=$_SERVER['DOCUMENT_ROOT']."/images/".$_GET['image'].".jpg";
$font=$_SERVER['DOCUMENT_ROOT']."/fonts/font.ttf";
$picture=imagecreatefromjpeg($bg);
$center_w=imagesx($picture)/2;
$center_h=imagesy($picture)/2;
$color=imagecolorallocate($picture,255,255,255);
$box=imagettfbbox(9,0,$font,$_GET['text']);
$left=$center_w-round(($box[2]-$box[0])/2);
$top=$center_h-round(($box[7]-$box[1])/2);
imagettftext($picture,9,0,$left,$top,$color,$font,$_GET['text']);
imagejpeg($picture,null,100);
imagedestroy($picture);
}
?>
function GetListFiles($folder,&$all_files){
$fp=opendir($folder);
while($cv_file=readdir($fp)){
if(is_file($folder."/".$cv_file)){
$all_files[]=$folder."/".$cv_file;
}
elseif($cv_file!="."&&$cv_file!=".."&&is_dir($folder."/".$cv_file)){
GetListFiles($folder."/".$cv_file,$all_files);
}
}
closedir($fp);
}
$all_files=array();
GetListFiles('/var/www/import_files',$all_files);
print_r($all_files);
http://php.ua/blog/2011-08-08/список-файлов-в-папке-и-подпапках/
Решение проблемы подсветки поискового запроса не учитывая регистр.
Рабочий вариант с регулярным выражением:
function colorSearchWord($word,$string,$color='violet'){
return preg_replace('|('.preg_quote($word).')|si','<span style="color:'.$color.';border-bottom:1px dashed '.$color.';">$1</span>',$string);
}
С str_replace
фразы в разном регистре не будет подсвечены:
function colorSearchWord($word,$string,$color='violet'){
$replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>";
$result=str_replace($word,$replacement,$string);
return $result;
}
Можно использовать str_ireplace
, но подсвеченные фразы будут приведены к нижнему регистру
function colorSearchWord($word,$string,$color='violet'){
$replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>";
$result=str_ireplace($word,$replacement,$string);
return $result;
}
Проверить, что строка содержит только кириллицу:
if(preg_match('/^[а-яё]++$/ui',$letter)){
//...
}
В примере URL
http://revolution.rhga.ru/section/detail.php?section=obrazy-revolucii&element=za-velikuyu-edinuyu-i-nedelimuyu-rossiyu&sphrase_id=4555549
нужно привести к виду
http://revolution.rhga.ru/section/obrazy-revolucii/za-velikuyu-edinuyu-i-nedelimuyu-rossiyu.html
1. Получим массив параметров и их значений:
function format_url($url){
$result=array();
$pu=parse_url($url);
if($pu['query']){
$parts=explode('&',html_entity_decode($pu['query']));
foreach($parts as $part){
$param=explode('=',$part);
$result[$param[0]]=$param[1];
}
}
return $result;
}
print_r(format_url($url));
Array
(
[section] => obrazy-revolucii
[element] => za-velikuyu-edinuyu-i-nedelimuyu-rossiyu
[sphrase_id] => 4555549
)
2. Затем сформируем URL в нужном нам формате:
function format_url($url){
$result=$url;
$arr=array();
$pu=parse_url($url);
if($pu['query']){
$parts=explode('&',html_entity_decode($pu['query']));
foreach($parts as $part){
$param=explode('=',$part);
$arr[$param[0]]=$param[1];
}
if($arr['section']&&$arr['element']){
$result='/section/'.$arr['section'].'/'.$arr['element'].'.html';
}
}
return $result;
}
function sgp($url,$varname,$value){
if(is_array($varname)){
foreach($varname as $i=>$n){
$v=(is_array($value))?(isset($value[$i])?$value[$i]:NULL):$value;
$url=sgp($url,$n,$v);
}
return $url;
}
preg_match('/^([^?]+)(\?.*?)?(#.*)?$/',$url,$matches);
$gp=(isset($matches[2]))?$matches[2]:'';
if(!$gp)return $url;
$pattern="/([?&])$varname=.*?(?=&|#|\z)/";
if(preg_match($pattern,$gp)){
$substitution=($value!=='')?"\${1}$varname=".preg_quote($value):'';
$newgp=preg_replace($pattern,$substitution,$gp);
$newgp=preg_replace('/^&/','?',$newgp);
}
else{
$s=($gp)?'&':'?';
$newgp=$gp.$s.$varname.'='.$value;
}
$anchor=(isset($matches[3]))?$matches[3]:'';
$newurl=$matches[1].$newgp.$anchor;
$newurl=rtrim($newurl,'&');
$newurl=str_replace('&&','&',$newurl);
$newurl=str_replace('?&','?',$newurl);
return $newurl;
}
Использование:
Замена 1 параметра
<a href="<?=sgp($url,'key',$value)?>">test</a>
Удаление 1 параметра
<a href="<?=sgp($url,'key','')?>">test</a>
Замена более 1 параметра
<a href="<?=sgp($url,array('key1','key2'),array($value1,$value2))?>">test</a>
Удаление более 1 параметра
<a href="<?=sgp($url,array('key1','key2'),NULL)?>">test</a>
http://webew.ru/articles/743.webew
http://webew.ru/articles/5510.webew
Например, для случайного значения от 1,08 до 1,15