Это мой исходный текст: < /p>
Код: Выделить всё
Some stuff before this notice like a changelog with versioning and explanation text.
== Upgrade Notice ==
= 1.3.0 =
When using Master Pro, 1.3.0 is the new minimal required version!
= 1.1.0 =
When using Master Pro, 1.1.0 is the new minimal required version!
= 1.0.0 =
No upgrade - just install :)
[See changelog for all versions](https://plugins.svn.wordpress.org/master-pro/trunk/CHANGELOG.md).
< /code>
Это функция: < /p>
/**
* Parse update notice from readme file
*
* @param string $content
* @param string $new_version
*
* @return void
*/
private function parse_update_notice( string $content, string $new_version ) {
$regexp = '~==\s*Upgrade Notice\s*==\s*(.*?=+\s*' . preg_quote( $new_version ) . '\s*=+\s*(.*?)(?=^=+\s*\d+\.\d+\.\d+\s*=+|$))~ms';
if ( preg_match( $regexp, $content, $matches ) ) {
$version = trim( $matches[1] );
$notices = (array) preg_split( '~[\r\n]+~', trim( $matches[2] ) );
error_log( $version );
error_log( print_r( $notices, true ) );
}
}
< /code>
Я в настоящее время застрял в своей режиме. Я на самом деле не заставляю его работать. Это была моя первоначальная идея: < /p>
[list]
[*] Только поиск после == Уведомление об обновлении == < /code> < /li>
Проверьте, если У нас есть версия, соответствующая $ new_version [*] Получите контент после версии в качестве совпадения 2, но останавливаясь после пустой новой строки. Уведомление об обновлении может пройти несколько строк, но без пустой новой линии.
[/list]
Подробнее здесь: https://stackoverflow.com/questions/780 ... eadme-text
Мобильная версия