Как использовать preg_match в WordPress - PullRequest
0 голосов
/ 26 июня 2019

Я не получаю конкретный текст в определенной переменной

В нормальном PHP работает нормально .. но когда я загрузил этот код в WordPress .. он не работает .. выдает ошибку

$ical = 'BEGIN:VCALENDAR
PRODID:-//SomeExampleStuff//EN
VERSION:2.0
BEGIN:VEVENT
CREATED:20190726T114808Z
DTEND;TZID=Asia/Kolkata:20190726T180000
DTSTAMP:20190726T114813Z
DTSTART;TZID=Asia/Kolkata:20190726T170000
LAST-MODIFIED:20190726T114808Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Bajaj 
UID:A8H1C9CE-B911-466B-T04C-CP69098907K1
END:VEVENT
END:VCALENDAR';

if (! preg_match( '#^UID:(.*?)\r?\n?$#m', $ical, $matches ) ):
     echo "not fould";
      else: 
      $uid = $matches[1];
      echo $uid;
   endif;

Мне нужно только "UID: A8H1C9CE-B911-466B-T04C-CP69098907K1" из переменной $ical

1 Ответ

0 голосов
/ 26 июня 2019

Спасибо за подробный отчет

Функция preg _, такая как preg_match, установлена ​​в php.ini

Pcre.backtrack_limit Pcre.recursion_limit

Если она превышаетверхний предел размера памяти, кажется, ошибка.

Поэтому, когда ожидается большой размер, необходимо обрабатывать другим способом, избегая preg_match, поэтому замените его методом, использующим strpos,substr в соответствии с рекомендациями.

...