|
|
|
| Добрый день.
$trol=explode('|', $this->param);
while (list($key, $val) = each($trol)) {
$trol[$key]="#($val)#e";
}
echo preg_replace($trol, "$this->$1()", $code);
|
Выводит ошибочку типо
Catchable fatal error: Object of class SEOcode_sort could not be converted to string in Z:\home\test1.ru\www\classes\seocode_sort.php on line 226
|
Если без ООП т.е. без $this->
то как следует ожидать ошибка
Fatal error: Call to undefined function ya_pages_in_index() in Z:\home\test1.ru\www\classes\seocode_sort.php(226) : regexp code on line 1
|
как сделать?( как вызвать функцию из класса?( | |
|
|
|
|
|
|
|
для: ntro123
(19.07.2011 в 14:09)
| | Никто не сталкивался? | |
|
|
|
|
|
|
|
для: ntro123
(19.07.2011 в 14:09)
| | Приведите полный код.
> как вызвать функцию из класса?(
Это очень просто. Нужно объявить метод статическим и его можно будет вызывать из класса. | |
|
|
|
|
|
|
|
для: Саня
(19.07.2011 в 16:09)
| |
class Value
{
public $ya_pages_in_index='123';
}
class SEOcode extends Value
{
public function get()
{
$code='1+ya_pages_in_index+1'
echo preg_replace("#ya_pages_in_index#e", "$this->$1", $code);
}
}
|
Должно показать 1+123+1 | |
|
|
|
|
|
|
|
для: ntro123
(19.07.2011 в 16:32)
| | А почему оно должно показать показать 1+123+1? | |
|
|
|
|
|
|
|
для: Саня
(19.07.2011 в 16:34)
| | потому что preg_replace должен в $code (где содержиться "1+ya_pages_in_index+1") замени "ya_pages_in_index" на $this->ya_pages_in_index (в котором содержиться "123")
Разуметься я упустил формальности специально. (не стал создавать экзампляр класса и вызывать метод)
Надеюсь поможете =(
ПС. пардон строку
preg_replace("#ya_pages_in_index#e", "$this->$1", $code);
нужно заменять на
preg_replace("#(ya_pages_in_index)#e", "$this->$1", $code);
вот код
class Value
{
public $ya_pages_in_index='123';
}
class SEOcode extends Value
{
public function get()
{
$code='1+ya_pages_in_index+1';
echo preg_replace("#(ya_pages_in_index)#e", "$this->$1", $code);
}
}
$wb=new SEOcode();
$wb->get();
|
как и ожидал выводит
Catchable fatal error: Object of class SEOcode_sort could not be converted to string in Z:\home\test1.ru\www\classes\seocode_sort.php on line 226
|
| |
|
|
|
|
|
|
|
для: ntro123
(19.07.2011 в 16:53)
| | После долгих мучений нашел что мне надо
http://blog.webproduction.com.ua/preg_replace+с+модификатором+e/
Всем спасибо. | |
|
|
|