Архив

Архив Июнь 2010
25 июня 2010 4 комментария

В примере мы изменяем ширину картинки в зависимости от размера окна и при ресайзе окна
JS:

function screenSize() {
   var w, h;
   w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
   h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
   return {w:w, h:h};
}
function ChHgh() {
   var client_width = screenSize().w;
   var content_width = client_width - 200;
   document.getElementById('imageid').style.width = content_width + 'px';
}

где 200 — это суммарная ширина других элементов рядом с картинкой
HTML:

<body onload="ChHgh();" onResize="ChHgh();">
<img id="imageid" src="/path/to/imagename.jpg" alt="imagedesc" />
</body>

Вариант второй простой и кривой:

<div style="width: 100%;"><img src="/images/m2/imagename.jpg" width="100%" /></div>
Categories: Javascript Tags:

В примере нам нужно в браузере заменять ссылки вида http://krylov.org.ua/redirect.php?http://google.ru/ на http://google.ru/
JS:

function VRmRL() {
	var finished = 0;
	while (finished <= 1) {
		var removed = "http://krylov.org.ua/redirect.php?";
		var str = document.getElementById("tmp").innerHTML;
		if (str.indexOf(removed) > -1) {
			document.getElementById("tmp").innerHTML = str.replace(removed, "");
		}
		else {
			finished = 1;
		}
	}
}

Кусок HTML как пример ну да и чтобы проверить:

<html>
<head>
<script type="text/javascript" src="rml.js"></script>
</head>
<body id="tmp" onload="VRmRL();">
<a href="http://krylov.org.ua/redirect.php?http://ya.ru/">LINK_1</a>
<br/>
<a href="http://krylov.org.ua/redirect.php?http://google.ru/">LINK_2</a>
<br/>
<a href="http://krylov.org.ua/redirect.php?http://ya.ru/">LINK_3</a>
<br/>
<a href="http://krylov.org.ua/redirect.php?http://google.ru/">LINK_4</a>
<br/>
<a href="http://google.ru/">LINK_5</a>
<br/>
<a href="http://ya.ru/">LINK_6</a>
<br/>
</body>
</html>
Categories: Javascript Tags:

Вопрос с ГОСа..

#include <vcl.h>
#pragma hdrstop
 
#include "MyUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
// Делаем надписи на втором StringGridе
 StringGrid2->Cells[0][0]="Sum";
 StringGrid2->Cells[0][1]="k";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Формируем матрицу из случайных чисел
 randomize();
 for (int i=0;i<StringGrid1->ColCount;i++)
  for (int j=0;j<StringGrid1->RowCount;j++)
   StringGrid1->Cells[i][j] = IntToStr(random(10)-5);
 
 Button1->Enabled=false;
 Button2->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 int Sum=0, k=0;
 
 for (int i=0;i<StringGrid1->ColCount;i++)    // Во внешнем цикле перебираем столбцы
  {
   for (int j=0;j<StringGrid1->RowCount;j++)    // Во внутреннем цикле перебираем строки
     if (StrToInt(StringGrid1->Cells[i][j]) > 0)        // Если ел-т строки положительный
      {
       Sum+=StrToInt(StringGrid1->Cells[i][j]); // То суммируем его
       k++;
      }
// Выводим сумму и количество положительных эл-в и обнуляем переменные
   StringGrid2->Cells[i+1][0]=IntToStr(Sum);
   StringGrid2->Cells[i+1][1]=IntToStr(k);
   Sum=0; k=0;
  }
 
 Button2->Enabled=false;
 Button3->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
// Очищаем StringGridы
 for (int i=0;i<StringGrid1->ColCount;i++)
  for (int j=0;j<StringGrid1->RowCount;j++)
   {
    StringGrid1->Cells[i][j]="";
    StringGrid2->Cells[i+1][j]="";
   }
 
 Button3->Enabled=false;
 Button1->Enabled=true;
}
//---------------------------------------------------------------------------
Categories: Other Tags:
16 июня 2010 11 комментариев

Пример взят с http://forum.searchengines.ru/showthread.php?t=209299

<?php 
// $document на выходе должен содержать HTML-документ. 
// Необходимо удалить все HTML-теги, секции javascript, 
// пробельные символы. Также необходимо заменить некоторые 
// HTML-сущности на их эквивалент. 
 
$search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезает javaScript 
                 "'<[\/\!]*?[^<>]*?>'si",           // Вырезает HTML-теги 
                 "'([\r\n])[\s]+'",                 // Вырезает пробельные символы 
                 "'&(quot|#34);'i",                 // Заменяет HTML-сущности 
                 "'&(amp|#38);'i", 
                 "'&(lt|#60);'i", 
                 "'&(gt|#62);'i", 
                 "'&(nbsp|#160);'i", 
                 "'&(iexcl|#161);'i", 
                 "'&(cent|#162);'i", 
                 "'&(pound|#163);'i", 
                 "'&(copy|#169);'i", 
                 "'&#(\d+);'e");                    // интерпретировать как php-код 
 
$replace = array ("", 
                  "", 
                  "\\1", 
                  "\"", 
                  "&", 
                  "<", 
                  ">", 
                  " ", 
                  chr(161), 
                  chr(162), 
                  chr(163), 
                  chr(169), 
                  "chr(\\1)"); 
 
$text = preg_replace($search, $replace, $document); 
?>

Ну а под конкретный случай по примеру)

2020-02-27 Обновлено, в виде функции:

function html_to_text($document){
	$search=array(
		"'<script[^>]*?>.*?</script>'si",
		"'<style[^>]*?>.*?</style>'si",
		'/<!--(.*?)-->/',
		"'<[\/\!]*?[^<>]*?>'si",
		"'([\r\n])[\s]+'",
		"'&(quot|#34);'i",
		"'&(amp|#38);'i",
		"'&(lt|#60);'i",
		"'&(gt|#62);'i",
		"'&(nbsp|#160);'i",
	);
	$replace=array(
		"",
		"",
		"",
		"",
		" ",
		"\"",
		"&",
		"<",
		">",
		" ",
	);
	$text=preg_replace($search,$replace,$document);
	return $text;
}
Categories: PHP Tags: ,
$text = "<h3>Заголовок</h3><p>Первый абзац. Что-то еще.</p><p>Второй абзац. Что-то еще.</p><p>Третий абзац. Что-то еще.</p>";
$patern="#<[\s]*p[\s]*>([^<]*)<[\s]*/p[\s]*>#i";
if(preg_match($patern, $text, $matches))
{
   $first_p = $matches[1];
   $first_pr = substr($first_p,0,strpos($first_p,'.'));
   echo "<span>".$first_pr."</span>";
}

В результате получим:

<span>Первый абзац</span>
Categories: PHP Tags: