Download:
http://www.deeem2031.de/PHPString
Mit "PHP" Präfix (z.B. PHPStrPos() ):
http://www.deeem2031.de/PHPString_Praefix
(in .../Purebasic/PureLibraries/Userlibraries kopieren)
Befehle: (Für die PHP-Hilfe auf den Befehl klicken)
StrLen.l(string.s) - gibt die Länge des Strings zurück
SubStr.s(string.s,start[,len]) - "verbessertes Mid"
StrPos.l(String.s, SuchString.s [, StartPosition]) - Im Prinzip das selbe wie FindString, nur das FindString mit 1 anfängt, StrPos aber mit 0
StrTok.s(String.s, Seperator.s) oder StrTok.s(Seperator.s) - Zerlegt den String
Ord.l(char.s) - Das selbe wie Asc()
StrRepeat.s(String.s,multiplier.l) - Wiederholt den String (heißt eigentlich in PHP Str_Repeat, aber der PBCompiler mag den Unterstrich nicht)
Count_Chars.l(string.s) bzw. Count_CharsS.s(string.s,mode.l) - Zählt die einzelnen Zeichen des Strings (von Purefan)
Implode.s(Seperator.s,Array) - Fügt alle Elemente des Arrays zu einem String zusammen
Join.s(Seperator.s,Array) - Fügt alle Elemente des Arrays zu einem String zusammen (das selbe wie Implode)
StrRot13.s(String.s) - "Verschlüsselt" einen String in dem alle Buchstaben um 13 Zeichen im Alphabet verschoben werden.
AddCSlashes.s(String.s,Charlist.s) - Schützt die Zeichen der Charlist im String mit einem Backslash (\)
AddSlashes.s(String.s) - Schützt die Zeichen " ' \ mit einem Backslash (\) (Das Nullbyte zu schützen würde wohl kaum Sinn machen)
StrStr.s(String.s, SuchString.s) - Ähnlich wie StrPos, nur das nicht die Position sondern der String ab der Position zurückgegeben wird.
UCFirst.s(String.s) - Ändert den ersten Buchstaben zu einem Großbuchstaben.
Explode.array(Seperator.s,String.s) - Teilt den String auf und gibt die einzelnen Teile in einem Array zurück.
StrRev.s(String.s) - Dreht die Zeichenkette um.
StrRPos.l(haystack.s, (char) needle.s) - Sucht ein Zeichen (needle) in einem String (haystack) und fängt dabei am Ende des Strings an. (Die erste Pos. des String ist 1, auch wenn das bei PHP nicht so ist)
ChunkSplit.s(string.s [, chunklen [, end.s]]) - Teilt den String durch "end"s auseinander (#CRLF wenn nicht angegeben), wobei jedes Teil "chunklen" lang ist (76 wenn nicht angegeben)
StrChr.s(String.s, SuchString.s) - Ähnlich wie StrPos, nur das nicht die Position sondern der String ab der Position zurückgegeben wird. (Das selbe wie StrStr())
StrRChr.s(string haystack, string needle) - Sucht ein Zeichen (needle) in einem String (haystack) und fängt dabei am Ende des Strings an. Gibt den Rest (+needle) des Strings zurück.
StrTr.s(string str, string from, string to) - Ersetzt die Zeichen aus "from" durch die Zeichen aus "to". D.h. das erste Zeichen aus "from" mit dem ersten aus "to" und das zweite Zeichen aus "from" mit dem zweiten aus "to" ...
StrCSpn.l(string str1, string str2) - Durchsucht "str1" nach den Zeichen aus "str2" und gibt die Position zurück wenn eine Übereinstimmung gefunden wurde. (beginnend bei 1)
StrSpn.l(string str1, string str2) - Durchsucht "str1" nach den Zeichen aus "str2" und gibt die Position zurück wenn keine Übereinstimmung gefunden wurde. (beginnend bei 1)
BeipielCode
Code: Alles auswählen
Debug "SubStr"
Debug "1.) " + SubStr("1234567", 2)
Debug "2.) " + SubStr("1234567", 2, 4)
Debug "3.) " + SubStr("1234567", 0, 7)
Debug "4.) " + SubStr("1234567", -2)
Debug "5.) " + SubStr("1234567", -2, 3)
Debug "6.) " + SubStr("1234567", 4, -4)
Debug "7.) " + SubStr("1234567", 2, -1)
Debug "8.) " + SubStr("1234567", -6, -5)
Debug "9.) " + SubStr("1234567", -12, 3)
Debug ""
Debug "StrTok"
Debug "1.) " + StrTok("abcdefgabcdefg","cd")
Debug "2.) " + StrTok("f")
Debug "3.) " + StrTok("b")
Debug "4.) " + StrTok("ef")
Debug "5.) " + StrTok("x")
Debug "1.) " + StrTok("a|b|c|d","|")
Debug "2.) " + StrTok("|")
Debug "3.) " + StrTok("|")
Debug "4.) " + StrTok("|")
Debug ""
Debug "StrLen"
Debug "1.) " + Str(StrLen("abcdefgabcdefg"))
Debug "2.) " + Str(StrLen(""))
Debug ""
Debug "StrPos"
Debug "1.) " + Str(StrPos("abcdefgabcdefg","x"))
Debug "2.) " + Str(StrPos("abcdefgabcdefg","a",6))
Debug "3.) " + Str(StrPos("abcdefgabcdefg","bc"))
Debug "4.) " + Str(StrPos("abcdefgabcdefg","gh",0))
Debug ""
Debug "StrRepeat"
Debug "1.) " + StrRepeat("a",1)
Debug "2.) " + StrRepeat("a",10)
Debug "3.) " + StrRepeat("a",3)
Debug ""
Debug "Ord"
Debug "1.) " + Str(Ord("A")) + " = " + Str(Asc("A"))
Debug ""
Debug "Count_Chars"
Structure Count_Chars
Char.w[256]
EndStructure
; mode 0 (array)
*a.Count_Chars=CountChars("Kreide fressen, das lohnt sich!")
For i=0 To 255
If *a\Char[i]
Debug Str(*a\Char[i])+ " x CHR("+Str(i)+") = "+Chr(i)
EndIf
Next i
; mode 3 (string)
Debug CountCharsS("Er frisst alle auf und nur",3)
; mode 4 (string)
a.s=""
For i=1 To 255
If i<'A' Or i>'Z'
a+Chr(i)
EndIf
Next i
Debug CountCharsS(a,4)
Debug ""
Debug "Implode / Join"
Dim Array.s(1)
Array(0) = "abc"
Array(1) = "xyz"
Debug Implode("|",Array())
Debug Join("|",Array())
Debug ""
Debug "Str_rot13"
Debug StrRot13("SELFPHP 5")
Debug StrRot13(StrRot13("SELFPHP 5"))
Debug ""
Debug "AddCSlashes"
Debug AddCSlashes("SELFPHP 5","EP")
Debug ""
Debug "AddSlashes"
Debug AddSlashes("\-'-"+#DQUOTE$+" ...")
Debug ""
Debug "StrStr / StrChr"
Debug StrStr("abcdefgabcdefg","x")
Debug StrStr("abcdefgabcdefg","bc")
Debug StrChr("abcdefgabcdefg","x")
Debug StrChr("abcdefgabcdefg","bc")
Debug ""
Debug "UCFirst"
Debug UCFirst("abcdef")
Debug ""
Debug "Explode"
Dim E_Array.s(0)
FreeArray(E_Array())
E_Array() = Explode("a","bac")
For i = 0 To CountArray(E_Array())-1
Debug E_Array(i)
Next
Debug ""
Debug "StrRev"
Debug StrRev("abcdefghijklmnopqrstuvwxyz")
Debug ""
Debug "ChunkSplit"
a.s = Space(1000)
a = ReplaceString(a," ","a")
Debug ReplaceString(ChunkSplit(a),#CRLF$,"bc")
Debug ReplaceString(ChunkSplit(a,1),#CRLF$,"bc")
Debug ChunkSplit(a,1,"ef")
Debug ""
Debug "StrRPos"
Debug StrRPos("abcabc","b")
Debug StrRPos("abcabc","d")
Debug ""
Debug "StrRChr"
Debug StrRChr("abcabc","b")
Debug StrRChr("abcabc","d")
Debug ""
Debug "StrTr"
Debug StrTr("abcabc","a","f")
Debug ""
Debug "StrCSpn"
Debug StrCSpn("StrCSpn","ABC")
Debug ""
Debug "StrSpn"
Debug StrSpn("StrSpn","rtS")
Debug StrSpn("StrSpn","")
