Извлеките уведомление об обновлении с конкретной версией из текста ReadmePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Извлеките уведомление об обновлении с конкретной версией из текста Readme

Сообщение Anonymous »

Я в настоящее время пишу функцию PHP, которая должна помочь мне извлечь уведомление об обновлении из данного текста ReadMe. < /p>
Это мой исходный текст: < /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 
[*] Получите соответствующую версию между = x.x.x = как совпадение 1, например. 1.1.0
[*] Получите контент после версии в качестве совпадения 2, но останавливаясь после пустой новой строки. Уведомление об обновлении может пройти несколько строк, но без пустой новой линии.
[/list]

Подробнее здесь: https://stackoverflow.com/questions/780 ... eadme-text
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»