PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (106): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Найдено сообщений: 1580
Строитель
Отправлено: 20 Мая, 2019 - 09:01:20 • Тема: Object of class DOMElement could not be converted to string in • Форум: Вопросы новичков
Ответов: 17 Просмотров: 1397
strengerst пишет: А в phpQuery нету поиска по регулярным выражением?
Я не использую phpQuery - в документации об этом можно узнать наверняка.strengerst пишет: Переписать phpQuery
Я имел ввиду переписать не phpQuery, а ваш скрипт под использование без phpQuery (только на регулярках)
Строитель
Отправлено: 19 Мая, 2019 - 22:06:58 • Тема: Object of class DOMElement could not be converted to string in • Форум: Вопросы новичков
Ответов: 17 Просмотров: 1397
strengerst пишет: попробую как советует товарищ с помощью метода toString() может получится.
Я уже пробовал - не получится. Вернее, объект-то можно превратить в сериализованную строку, но в ней не будет ожидаемых данных из html-разметки:Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$content = '<div>Ваш HTML-код</div>' ;
$phpQuery = phpQuery:: newDocument ( $content ) ;
$foo = new Foo( $phpQuery ) ;
echo $foo ;
// O:14:"phpQueryObject":13:{s:10:"documentID";s:32:"28c39fc070f56f36d026c3d8403a7afe";s:8:"document";O:11:"DOMDocument":0:{}s:7:"charset";s:5:"utf-8";s:15:"documentWrapper";O:18:"DOMDocumentWrapper":17:{s:8:"document";R:3;s:2:"id";s:32:"28c39fc070f56f36d026c3d8403a7afe";s:11:"contentType";s:9:"text/html";s:5:"xpath";O:8:"DOMXPath":0:{}s:4:"uuid";i:0;s:4:"data";a:0:{}s:9:"dataNodes";a:0:{}s:6:"events";a:0:{}s:11:"eventsNodes";a:0:{}s:12:"eventsGlobal";a:0:{}s:6:"frames";a:0:{}s:4:"root";O:10:"DOMElement":0:{}s:18:"isDocumentFragment";b:1;s:5:"isXML";b:0;s:7:"isXHTML";b:0;s:6:"isHTML";b:1;s:7:"charset";R:4;}s:5:"xpath";R:8;s:8:"elements";a:1:{i:0;r:16;}s:17:"*elementsBackup";a:0:{}s:11:"*previous";N;s:7:"*root";R:16;s:16:"documentFragment";R:17;s:20:"*elementsInterator";a:0:{}s:8:"*valid";b:0;s:10:"*current";N;}
class Foo
{
private $phpQueryObject ;
public function __construct( PhpQueryObject $phpQueryObject )
{
$this -> phpQueryObject = $phpQueryObject ;
}
public function __toString( )
{
}
}
Можно даже с помощью рефлексии превратить объект в строку (даже в НЕ сериализованную) , но результат будет примерно такой же (без необходимого набора данных) .
Выхода у вас два: изучить phpQuery, или переписать всё под регулярные выражения.
Строитель
Отправлено: 18 Мая, 2019 - 14:07:52 • Тема: Object of class DOMElement could not be converted to string in • Форум: Вопросы новичков
Ответов: 17 Просмотров: 1397
LIME , я просто с телефона, и не могу полноценно проанализировать вопрос.
Если я правильно понял суть, тс-у нужно преобразовать объект в строку для последующей передачи этой строки в preg_match() ?
И если да, то можно же создать класс, наследующий получаемый из phpQuery() тип объекта, и в этом дочернем классе реализовать метод __toString() ?
Строитель
Отправлено: 17 Мая, 2019 - 19:49:01 • Тема: Поиск состава слова • Форум: Напишите за меня, пожалуйста
Ответов: 20 Просмотров: 276
vasya89 пишет: Как-то не получается у меня объяснить вам.
Так-то мне понятно, какой на выходе должен быть массив. Но мне не понятно, почему именно с помощью регулярок вам необходимо решать эту задачу. Ведь регулярки дают не много не такой результат. Может быть и есть какая-то возможность повлиять на это в регулярках, но я о ней не знаю.
Строитель
Отправлено: 17 Мая, 2019 - 16:08:45 • Тема: Поиск состава слова • Форум: Напишите за меня, пожалуйста
Ответов: 20 Просмотров: 276
vasya89 , ещё попытка Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$word = 'валить' ;
$part1 = array ( '' , 'в' , 'на' , 'от' , 'по' ) ; $part2 = array ( 'бел' , 'вал' , 'ал' ) ; $part3 = array ( '' , 'ить' , 'ю' , 'ил' , 'ила' ) ;
$sostav = composition( $word , $part1 , $part2 , $part3 ) ;
/*
$sostav[0] = array('', 'вал', 'ить');
$sostav[1] = array('в', 'ал', 'ить');
*/
function composition( $word , $a , $b , $c )
{
$array = [ ] ;
$array [ ] = $item ;
}
}
return $array ;
}
/*
Array
(
[0] =>
[1] => в
[2] => вал
[3] => ал
[4] =>
[5] => ить
)
*/
Я думаю, что такой результат можно и без регулярок достичь (если вместо preg_ использовать stripos)
Строитель
Отправлено: 17 Мая, 2019 - 15:22:55 • Тема: Поиск состава слова • Форум: Напишите за меня, пожалуйста
Ответов: 20 Просмотров: 276
vasya89 , набросал такой вариантСпойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$word = 'валить' ;
$part1 = [ '' , 'в' , 'на' , 'от' , 'по' ] ;
$part2 = [ 'бел' , 'вал' , 'ал' ] ;
$part3 = [ '' , 'ить' , 'ю' , 'ил' , 'ила' ] ;
$sostav = composition( $word , $part1 , $part2 , $part3 ) ;
/*
Хранит вариации найденных комбинаций:
$sostav[0] = array('', 'вал', 'ить');
$sostav[1] = array('в', 'ал', 'ить');
*/
{
return $array ;
}
Но результирующий массив отличается от предложенного вами
Строитель
Отправлено: 17 Мая, 2019 - 14:43:33 • Тема: Поиск состава слова • Форум: Напишите за меня, пожалуйста
Ответов: 20 Просмотров: 276
LIME , спс )
Но ТС-у нужно же именно PCRE реализация. Да и мне проще регулярками обойтись, нежели строить дерево... Я просто не въехал в задачу, хотел быстренько набросать шаблон, а-н-нет, не тут-то было ))
Страниц (106): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB