|
@@ 284-320 (lines=37) @@
|
| 281 |
|
* @author Wordpress |
| 282 |
|
* @return string |
| 283 |
|
*/ |
| 284 |
|
protected function getRegex() |
| 285 |
|
{ |
| 286 |
|
// Get shortcode names |
| 287 |
|
$shortcodeNames = $this->getShortcodeNames(); |
| 288 |
|
|
| 289 |
|
// return regex |
| 290 |
|
return "/" |
| 291 |
|
. '\\[' // Opening bracket |
| 292 |
|
. '(\\[?)' // 1: Optional second opening bracket for escaping laravel-shortcodes: [[tag]] |
| 293 |
|
. "($shortcodeNames)" // 2: Shortcode name |
| 294 |
|
. '(?![\\w-])' // Not followed by word character or hyphen |
| 295 |
|
. '(' // 3: Unroll the loop: Inside the opening shortcode tag |
| 296 |
|
. '[^\\]\\/]*' // Not a closing bracket or forward slash |
| 297 |
|
. '(?:' |
| 298 |
|
. '\\/(?!\\])' // A forward slash not followed by a closing bracket |
| 299 |
|
. '[^\\]\\/]*' // Not a closing bracket or forward slash |
| 300 |
|
. ')*?' |
| 301 |
|
. ')' |
| 302 |
|
. '(?:' |
| 303 |
|
. '(\\/)' // 4: Self closing tag ... |
| 304 |
|
. '\\]' // ... and closing bracket |
| 305 |
|
. '|' |
| 306 |
|
. '\\]' // Closing bracket |
| 307 |
|
. '(?:' |
| 308 |
|
. '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags |
| 309 |
|
. '[^\\[]*+' // Not an opening bracket |
| 310 |
|
. '(?:' |
| 311 |
|
. '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag |
| 312 |
|
. '[^\\[]*+' // Not an opening bracket |
| 313 |
|
. ')*+' |
| 314 |
|
. ')' |
| 315 |
|
. '\\[\\/\\2\\]' // Closing shortcode tag |
| 316 |
|
. ')?' |
| 317 |
|
. ')' |
| 318 |
|
. '(\\]?)' // 6: Optional second closing brocket for escaping laravel-shortcodes: [[tag]] |
| 319 |
|
. "/s"; |
| 320 |
|
} |
| 321 |
|
|
| 322 |
|
private function getStripRegex() |
| 323 |
|
{ |
|
@@ 322-356 (lines=35) @@
|
| 319 |
|
. "/s"; |
| 320 |
|
} |
| 321 |
|
|
| 322 |
|
private function getStripRegex() |
| 323 |
|
{ |
| 324 |
|
// Get shortcode names |
| 325 |
|
$shortcodeNames = $this->getShortcodeNames(); |
| 326 |
|
|
| 327 |
|
return |
| 328 |
|
'\\[' // Opening bracket |
| 329 |
|
. '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]] |
| 330 |
|
. "($shortcodeNames)" // 2: Shortcode name |
| 331 |
|
. '(?![\\w-])' // Not followed by word character or hyphen |
| 332 |
|
. '(' // 3: Unroll the loop: Inside the opening shortcode tag |
| 333 |
|
. '[^\\]\\/]*' // Not a closing bracket or forward slash |
| 334 |
|
. '(?:' |
| 335 |
|
. '\\/(?!\\])' // A forward slash not followed by a closing bracket |
| 336 |
|
. '[^\\]\\/]*' // Not a closing bracket or forward slash |
| 337 |
|
. ')*?' |
| 338 |
|
. ')' |
| 339 |
|
. '(?:' |
| 340 |
|
. '(\\/)' // 4: Self closing tag ... |
| 341 |
|
. '\\]' // ... and closing bracket |
| 342 |
|
. '|' |
| 343 |
|
. '\\]' // Closing bracket |
| 344 |
|
. '(?:' |
| 345 |
|
. '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags |
| 346 |
|
. '[^\\[]*+' // Not an opening bracket |
| 347 |
|
. '(?:' |
| 348 |
|
. '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag |
| 349 |
|
. '[^\\[]*+' // Not an opening bracket |
| 350 |
|
. ')*+' |
| 351 |
|
. ')' |
| 352 |
|
. '\\[\\/\\2\\]' // Closing shortcode tag |
| 353 |
|
. ')?' |
| 354 |
|
. ')' |
| 355 |
|
. '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]] |
| 356 |
|
} |
| 357 |
|
|
| 358 |
|
/** |
| 359 |
|
* Remove all shortcode tags from the given content. |