<?php declare(strict_types=1); /* * This file is part of the league/commonmark package. * * (c) Colin O'Dell <colinodell@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace League\CommonMark\Node; final class StringContainerHelper { /** * Extract text literals from all descendant nodes * * @param Node $node Parent node * @param array<string> $excludeTypes Optional list of node class types to exclude * * @return string Concatenated literals */ public static function getChildText(Node $node, array $excludeTypes = []): string { $text = ''; foreach ($node->iterator() as $child) { if ($child instanceof StringContainerInterface && ! self::isOneOf($child, $excludeTypes)) { $text .= $child->getLiteral(); } } return $text; } /** * @param string[] $classesOrInterfacesToCheck * * @psalm-pure */ private static function isOneOf(object $object, array $classesOrInterfacesToCheck): bool { foreach ($classesOrInterfacesToCheck as $type) { if ($object instanceof $type) { return true; } } return false; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Block | Folder | 0755 |
|
|
Inline | Folder | 0755 |
|
|
Query | Folder | 0755 |
|
|
Node.php | File | 6.51 KB | 0644 |
|
NodeIterator.php | File | 1.4 KB | 0644 |
|
NodeWalker.php | File | 2.23 KB | 0644 |
|
NodeWalkerEvent.php | File | 935 B | 0644 |
|
Query.php | File | 3.37 KB | 0644 |
|
RawMarkupContainerInterface.php | File | 486 B | 0644 |
|
StringContainerHelper.php | File | 1.38 KB | 0644 |
|
StringContainerInterface.php | File | 667 B | 0644 |
|