$re = '/(?<=^|;|<\?php\s|<\?\s)(\s*?)(\h*\$(\w+)\s*=)(\s*([\'"].*?[\'"]|.*?)\s*;)/ims';
$str = '<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don\'t have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define(\'DB_NAME\', \'database_name_here\');
/** MySQL database username */
define(\'DB_USER\', \'username_here\');
/** MySQL database password */
define(\'DB_PASSWORD\', \'password_here\');
/** MySQL hostname */
define(\'DB_HOST\', \'localhost\');
/** Database Charset to use in creating database tables. */
define(\'DB_CHARSET\', \'utf8\');
/** The Database Collate type. Don\'t change this if in doubt. */
define(\'DB_COLLATE\', \'\');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define(\'AUTH_KEY\', \'put your unique phrase here\');
define(\'SECURE_AUTH_KEY\', \'put your unique phrase here\');
define(\'LOGGED_IN_KEY\', \'put your unique phrase here\');
define(\'NONCE_KEY\', \'put your unique phrase here\');
define(\'AUTH_SALT\', \'put your unique phrase here\');
define(\'SECURE_AUTH_SALT\', \'put your unique phrase here\');
define(\'LOGGED_IN_SALT\', \'put your unique phrase here\');
define(\'NONCE_SALT\', \'put your unique phrase here\');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = \'wp_\';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define(\'WP_DEBUG\', false);
//$test_update_no_match = \'thevalue\';
// $test_update_no_match = \'thevalue\';
$test_multiple_line_1 = \'the);value\';$test_multiple_line_2 = \'thevalue\'; $test_multiple_line_3 = \'thevalue\';
$test_update_1 = \'thevalue\';
$test_update_2=\'thevalue\';
$test_update_3 = \'thevalue\' ;
$test_update_4
=
\'thevalue\'
;
$test_update_5
= \'thevalue\';
$test_update_6 = "thevalue" ;
$test_update_7 ="thevalue"
;
$test_update_8="thevalue";
$test_update_9 =\'thevalue\' ;
$test_update_10=
\'thevalue\' ;
/* That\'s all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined(\'ABSPATH\') )
define(\'ABSPATH\', dirname(__FILE__) . \'/\');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . \'wp-settings.php\');
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php