Es liefert alle Ergebnisse in einem 0-basierenden Array.
Die Onlinehilfe:
Da fehlt allerdings ein Wörtchen, um das ganze gut verständlich zu machen.
Es liefert alle Ergebnisse in einem 0-basierenden Array.
Die Onlinehilfe:
Da fehlt allerdings ein Wörtchen, um das ganze gut verständlich zu machen.
Nunja. SoftCreatRs Funktion dürfte nur den ersten Treffer ausliefern. Die Aufgabenstellung war aber, AutoIts _StringBetween() Verhalten nachzubauen ![]()
preg_match_all("/" . $s_Start . "(.*?)" . $s_End. "/s", $s_String, $a_preg, PREG_SET_ORDER);
foreach ($a_preg as $a_tmp) {
array_push($a_ret, $a_tmp[1]);
}
Return $a_ret;
Als Ergebnis findest du in $a_ret[] alle Strings zwischen $s_Start und $s_End. Kannst du dir dann mal testweise von print_r() ausgeben lassen.
Das funktioniert aber erst, wenn du die beiden preg_replace() auskommentierst.
Da machst du leider etwas falsch.
Ich möchte dir den Spass da nicht verderben also schaust du besser mal selbst ins manual. Die Reihenfolge deiner Parameter stimmt nicht und $s_pattern_escape könntest du direkt als mit pattern gefülltes Array übergeben.
EDIT:
Egal! Bevor ich morgen nicht mehr an den Thread denke ...
Aber erst reinschauen wenn du keine eigene Lösung findest.
Tipp! Es gibt auch eine bessere Lösung zum escapen der Steuerzeichen - preg_... ![]()
<?php
$array = _StringBetween ( "bla hallo blub welt bla universum blub", "bla", "blub" );
print_r ( $array );
function _StringBetween($s_String, $s_Start, $s_End, $i_case = 0) {
$s_case = ($i_case == 1) ? "" : "i";
$a_ret = array ();
preg_match_all ( "/" . preg_quote ( $s_Start, "/" ) . "(.*?)" . preg_quote ( $s_End, "/" ) . "/s", $s_String, $a_preg, PREG_SET_ORDER );
if (is_array ( $a_preg )) {
foreach ( $a_preg as $a_tmp ) {
array_push ( $a_ret, $a_tmp [1] );
}
}
Return $a_ret;
}
?>
Alles anzeigen
Bevor du dich hier gleich wieder irgendwelchen "Anfeindungen" ausgesetzt siehst, befreie das Video mal von den Fesseln der Privatsphäre ![]()
Was den Herrn Mod angeht - der ist dafür da, potenziellen Regelverstössen nachzugehen. Wenn du hier mit so einem Skript kommst, musst du dir eine Nachfrage auch gefallen lassen können.
_FileWriteToLine($sFile, $iLine, '"')
Gerade eben mal wieder zum testen versucht - 48 Sekunden für den Klassiker ![]()
Mal ein wenig OffTopic.
Ich werd da grad nicht ganz schlau draus. Erstens - man kann zwar durchaus einen Chat in Java schreiben, gemeint war hier aber sicher (wie so oft) Javascript. Das sind zwei paar Schuhe und das Eine hat mit dem Anderen nichts zu zun. Zweitens - Was soll man mit PHP mit dem HTML Skript machen? Mal abgesehen davon, das es keine HTML Skripte gibt. HTML ist ein Markup, keine Skript- oder Programmiersprache. Drittens - Um ein einigermaßen angenehmes Chatsystem zu schreiben reicht kein reines PHP. Wenn man mal vom optischen HTML/CSS Kram absieht, sollte man zusätzlich schon noch ein wenig über AJAX wissen. Wir sind ja nicht mehr in den 80ern.
Mit etwas mehr Verspätung ...
Alles Gute zum Geburtstag chip!
Auch von mir alles Gute nachträglich zum 40sten!
Viel Glück , Erfolg, Gesundheit und was man einem
älteren Herrn sonst noch so wünscht ![]()
Solange du in deinen AGBs klarmachst, das du keinen direkten Einfluss auf den Inhalt des benutzergenerierten Contents deines Angebots hast, keine Rechtsverletzung (Urheberrecht, Hetzschriften, Pornographie etc.) auf deinem Server duldest und diese bei einem abuse umgehend entfernst, bist du auf der sicheren Seite.
Solange ein Hoster kritische Inhalte bei Meldung entfernt und diese Inhalte in keinster Weise fördert, ist das alles legal. Du musst dann allerdings damit rechnen, das du in besonders schwerwiegenden Fällen von den ermittelnden Behördern zur Offenlegung der Benutzerdaten herangezogen wirst. Von daher würde ich bei so einem Dienst auf garkeinen Fall auf IP logs verzichten. Ich bin mir nicht sicher wie lange du solche Daten aktuell vorhalten musst aber da hilft Google sicher weiter.
WM_COPYDATA könnte dein Freund werden ![]()
Ich hab leider grad kein Beispiel parat aber im engl. Forum gibts eine UDF. Such da mal nach "Data interchange". Ich komm im Moment leider niht rein, Proxy geblockt.
For $i = 0 To Ubound($aArray)-1
$sString &= $aArray[$i] & @CRLF
Next
Also ich bin ja nicht so der curl pro aber aus dem Startpost kann ich keinen Dateiupload erkennen.
Dürfte in etwa so aussehen...
Local Static $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("POST", "http://domain.tld/bla...", False)
$oHTTP.SetRequestHeader("User-Agent", "Opera/9.80 (Windows NT 6.1; U; de) Presto/2.10.229 Version/11.61")
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.Send($postFields)
$oRespond = $oHTTP.ResponseText
Keine registry aber ...
; Generated by AutoIt Scriptomatic
[/autoit] [autoit][/autoit] [autoit]$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"
$Output = ""
$Output &= "Computer: " & $strComputer & @CRLF
$Output &= "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_SoundDevice", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
$Output &= "Availability: " & $objItem.Availability & @CRLF
$Output &= "Caption: " & $objItem.Caption & @CRLF
$Output &= "ConfigManagerErrorCode: " & $objItem.ConfigManagerErrorCode & @CRLF
$Output &= "ConfigManagerUserConfig: " & $objItem.ConfigManagerUserConfig & @CRLF
$Output &= "CreationClassName: " & $objItem.CreationClassName & @CRLF
$Output &= "Description: " & $objItem.Description & @CRLF
$Output &= "DeviceID: " & $objItem.DeviceID & @CRLF
$Output &= "DMABufferSize: " & $objItem.DMABufferSize & @CRLF
$Output &= "ErrorCleared: " & $objItem.ErrorCleared & @CRLF
$Output &= "ErrorDescription: " & $objItem.ErrorDescription & @CRLF
$Output &= "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output &= "LastErrorCode: " & $objItem.LastErrorCode & @CRLF
$Output &= "Manufacturer: " & $objItem.Manufacturer & @CRLF
$Output &= "MPU401Address: " & $objItem.MPU401Address & @CRLF
$Output &= "Name: " & $objItem.Name & @CRLF
$Output &= "PNPDeviceID: " & $objItem.PNPDeviceID & @CRLF
$strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0)
$Output &= "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF
$Output &= "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF
$Output &= "ProductName: " & $objItem.ProductName & @CRLF
$Output &= "Status: " & $objItem.Status & @CRLF
$Output &= "StatusInfo: " & $objItem.StatusInfo & @CRLF
$Output &= "SystemCreationClassName: " & $objItem.SystemCreationClassName & @CRLF
$Output &= "SystemName: " & $objItem.SystemName & @CRLF
If MsgBox(1, "WMI Output", $Output) = 2 Then ExitLoop
$Output = ""
Next
Else
MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_SoundDevice")
EndIf
Func WMIDateStringToDate($dtmDate)
Return (StringMid($dtmDate, 5, 2) & "/" & _
StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
& " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
EndFunc ;==>WMIDateStringToDate
Abgesehen davon, das ich L3viathans Meinung teile, könntest du dir ja auch mal das hier anschauen.
Achte mal auf die Konsolenausgabe ![]()
sBitrate = _GetExtProperty("C:\Testmp3.mp3", 28)
ConsoleWrite($sBitrate & @LF)
Func _GetExtProperty($sPath, $iProp)
Local $iExist, $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty, $sProperty
$iExist = FileExists($sPath)
If $iExist = 0 Then
SetError(1)
Return 0
Else
$sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1))
$sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, "\", 0, -1)))
$oShellApp = ObjCreate("shell.application")
$oDir = $oShellApp.NameSpace($sDir)
$oFile = $oDir.Parsename($sFile)
If $iProp = -1 Then
Local $aProperty[35]
For $i = 0 To 34
$aProperty[$i] = $oDir.GetDetailsOf($oFile, $i)
Next
Return $aProperty
Else
$sProperty = $oDir.GetDetailsOf($oFile, $iProp)
If $sProperty = "" Then
Return 0
Else
Return $sProperty
EndIf
EndIf
EndIf
EndFunc ;==>_GetExtProperty
Schöne UDF. Läuft super ![]()
Was sich so alles in den Tiefen dieses Forums versteckt ..
- Scite4Autoit installieren
- Tools -> SciTE Config -> Default Action anpassen