Задать вопрос
sham63
@sham63

Preg_match_all, где я допустил ошибку?

Код который на голом PHP работает
preg_match_all("/(__typename\":\")([a-zA-Z0-9_-]{5,18})/", "$get_page", $obj);
preg_match_all("/(shortcode\":\")([a-zA-Z0-9_-]{5,18})/", "$get_page", $materials_posted);  
preg_match_all("/(edge_liked_by\":{\"count\":)([0-9]{1,11})/", "$get_page", $count_likes);
preg_match_all("/(taken_at_timestamp\":)([0-9]{9,11})/", "$get_page", $timestamps);


в yii2 ругается
syntax error, unexpected '' (T_STRING)

Первую запись пускает, но если больше 1 то выдает запись выше.
Прописываю это дело в Controller-ре
<?php

namespace common\modules\account\controllers;

use Yii;
use common\modules\account\models\Account;
use common\modules\account\models\AccountSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;


 

 
class MonitoringController extends Controller
{
     
    public function actionIndex()
    {
        $accounts = Account::find()->all();
        //var_dump($accounts);
        // Получаем список аккаунтов
         foreach ($accounts as $account) {
         	if($account['statys']!=3)  
         	{
         		if($account['lost_post']!=NULL)  
         		{
         			echo $account['lost_post'].'<br>';
         		}  
         		else {   
         			 
         	    ###############
         			$get_page = $this->Geturl($account['url']);


         			preg_match_all('/(__typename\":\")([a-zA-Z0-9_-]{5,18})/', $get_page, $obj); 
         			preg_match_all("/(shortcode\":\")([a-zA-Z0-9_-]{5,18})/", $get_page, $materials_posted);
         			
					
				
				###############
         		}
         		 
         	}
         }
        //
        //return $this->render('index');
    }


......

}
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
EnChikiben
@EnChikiben
что у вас в $get_page ? вполне возможно что на второй итерации в $get_page null или массив
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
во втором случае одинарные кавычки сделай, вместо крайних двойных. Так же как в первом случае.
айнанэ:
preg_match_all("/(shortcode\":\")([a-zA-Z0-9_-]{5,18})/"

холосо:
preg_match_all('/(shortcode\":\")([a-zA-Z0-9_-]{5,18})/'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы