Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 10:03 25.04.24 
Клубове/ Компютри и Интернет / PHP Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Ще ми обясните ли.....
АвторUnit-731 (Нерегистриран) 
Публикувано29.12.04 13:30  



Въпросът ми е не за решението на даден проблем, а по-скоро за разяснение на това решение. Имам клас, който извилча линковете от дадено url:

<?php
/**
* Extract links from a string, from a file or from a valid url

* EXAMPLE:
*
* [ TO PARSE AN URL ( or if you want, a file ) ]
* $myLinks = &new LinkExtractor(); // create a LinkExtractor Object
* if( $myLinks->parseUrl( "http://www.3site.it/index.php" ) == true ) {
* for( $a = 0, $b = count( $fetchLinks = $myLinks->getLinks() ); $a < $b; $a++ ) {
* echo $fetchLinks[$a]."<br />";
* }
* }
*
*/
class LinkExtractor {

var $linkReg = Array(
"/(?i)<a([^\a]+?)href='([^\a]+?)'/i",
"/(?i)<a([^\a]+?)href=\"([^\a]+?)\"/i",
"/(?i)<a([^\a]+?)href=([^\a]+?)[ |>]/i"
);

function LinkExtractor() {
global $__linkExtractor_linkRecipient;
$__linkExtractor_linkRecipient = Array();
}

function __manageLinkRecipient( $replacement ) {
global $__linkExtractor_linkRecipient;
array_push( $__linkExtractor_linkRecipient, htmlspecialchars( $replacement[2] ) );
}

function __callBackCaller( $st ) {
preg_replace_callback( $this->linkReg, Array( &$this, '__manageLinkRecipient' ),$st );
}

function parseUrl( $url ) {
if( @$fp = fopen( $url, "r" ) ) {
$st = '';
while( $text = fread( $fp, 8192 ) ) {
$st .= $text;
}
fclose( $fp );
$this->__callBackCaller( $st );
return true;
}
return false;
}

function getLinks() {
global $__linkExtractor_linkRecipient;
return $__linkExtractor_linkRecipient;
}
}
?>


Ако може да ми обясните за аргументите на тази функция:
preg_replace_callback( $this->linkReg, Array( &$this, '__manageLinkRecipient' ),$st );

или в частност втория аргумент. Просто ми е напълно неясно с каква цел се подава масив, състоящ се от референция към текущия обект (нали ?) и функция.
Другият въпрос, който имам е защо в доста кодове се използва

foo = &new foo();

Предполагам това връща референция към новосъздадения обект, но не мога да разбера смисъл и каква е разликата като се създаде без &

Мерси много и весели празници !



Цялата тема
ТемаАвторПубликувано
* Ще ми обясните ли..... Unit-731   29.12.04 13:30
. * Re: Ще ми обясните ли..... Blake   29.12.04 15:21
. * Re: Ще ми обясните ли..... roman   29.12.04 17:45
. * Re: Ще ми обясните ли..... Unit-731   29.12.04 18:48
. * Re: Ще ми обясните ли..... Bълk   29.12.04 23:23
. * Re: Ще ми обясните ли..... phpGuru   30.12.04 00:45
. * Re: опа phpGuru   30.12.04 00:51
. * Re: опа Bълk   30.12.04 07:54
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.