Statische string functies (PHP Compacten)
Sommige functies voor string bewerkening ontbreken gewoon. Ik heb een aantal handige functies geschreven om strings te manipuleren. Vooral met het oog op tags, erg handig.
De classe is een classe voor de verzameling. Het classe object is niet nodig om de functies te laten werken. Echter zijn er verwijzingen in de class naar zichzelf, om dit te laten werken, deze ook aanpassen
Ik zal kort de functies bespreken:
match_by_tag
function match_by_tag($strText, $strTagOpen, $strTagClose, &$arrMatch, $iLimit = null)
Match een tag, in een stringtext. Deze tag begint met een string (<) en eindigt met een string (>). De gevonden posities worden in een referentiele array opgeslagen.
Elke match voegt een array toe aan de $arrMatch, elke subarray bestaat uit de volgende onderdelen: beginpostie van de string, eindpositie van de string, totale lengte van de tag, totale lengte van de tag zonder tagopen en tag close.
convert_by_tag
Deze werkt ongeveer hetzelfde als match_by_tag, echter kan er gelijk aangegeven worden of er wat met de data tussen de tag open en tag-close gedaan moet worden. $strAction kan de volgende waarden bevatten: STRIP, HTMLENTITIES, HTML_ENTITIES_DECODE
Welke respectievelijk zorgt voor verwijderen, html omzetten naar hun string versie (< wordt &bd; (ofzo)), en string html omzetten naar hun tekens.
strip_out_and_save_by_tag
Soms wil je bepaalde data veilig stellen voordat je bewerkingen uit gaat voeren. Met deze functie wordt de data tussen strTagOpen en strTagClose vervangen door een unieke tag (die niet in de string voorkomt). De unieke tag komt op de plek van de gematchte string, de string wordt opgeslagen in de reference array.
$arrData[iets van een unieke key] = 'string gematched door twee quotes';
insert_saved_by_tag
De functie maakt de voorgaande functie ongedaan. Het is in feite niet meer dan een string_replace.
first_position
Soms wil je weten welke string er als eerste voorkomt uit een set. Hiervoor heb ik first_position ontwikkeld. Deze geeft een array terug met de positie van de string op index 0. En de gevonden string op index 1.
last_position
Als voorgaande, maar wordt het laatste voorkomen van een string gezocht.
compact_php
Misschien wel de mooiste van allemaal. Deze functie haalt alle spaties, enters, tabs en commentaar uit je code. Hierdoor wordt je code niet alleen compacter (mijn ervaring ongeveer 50%), maar ook wat minder toegankelijk. Als je aan het debuggen gaat, is het niet handig, daar alles op enkele regels staat.
De functie heeft wel even tijd nodig (ongeveer 30 seconden om 300.000 karakters te verwerken (output: 170.000 karakters).
compact_xml
Niet zo heel nuttig, is ook niet ver doorontwikkeld.
generate_unique_tag
Deze functie genereert een unieke string voor een bepaalde tekst. Er kan een tekst meegegeven worden waarin de tag niet voor mag komen of een array. In geval van de array wordt er gekeken naar de keys.
Nou, dat was dat, nu de code!
Updates
18-07-2007: Offset toegevoegd aan match_by_tag en convert_by_tag
Voorbeeld: http://phphulp.storeman.nl/static_string/voorbeeld.php
Gesponsorde koppelingen
PHP script bestanden
Er zijn 7 reacties op 'Statische string functies php compacten'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu