I wie unten haben, ein preg_match Ausdruckkorrekte preg_match in PHP benötigen
$is = 'rest("docs/lasit_uct/iii_a_3_a_1_r.php?hostimage=&hostvista=")';
preg_match('/docs\/*.[^.php]*/', $is, $match);
result is => XXXX/YYYYY/hello_a_13_a_12_r
Aber das, wenn ich andere Argument übergeben, wie unten,
$is = 'rest("docs/lasit_uct/iii_a_3_a_1_i.php?hostimage=&hostvista=")';
preg_match('/docs\/*.[^.php]*/', $is, $match);
result is => XXXX/YYYYY/hello_a_13_a_12_
das letzte Zeichen 'h' fehlt. Warum das?. Ich habe das gleiche Problem, wenn ich auch das Zeichen 'p' passiere. Was ist die Änderung, die ich in dem Ausdruck machen muss, um auch h zu bekommen?
Ich versuchte die folgenden Codes für korrekte Ausgabe .. aber kein Glück.
preg_match('/(docs\/.?).php/', $onClickLink, $match);
und
preg_match('/docs\/.+\((.+)(?=.php)/', $onClickLink, $match);
Bitte Ratschläge zu diesem
Weil '[^ .php]' mit einem anderen Zeichen als '.',' p' und ** 'h' ** übereinstimmt. Was war deine Absicht? Übrigens, es sieht so aus, als hättest du nicht den richtigen Code gepostet, die Beispielstrings stimmen überhaupt nicht überein –
Es passt nichts, weil du keine 'docs' in deinen Strings hast. Bitte zeigen Sie den echten Code. – Toto
@ WiktorStribiżew Ich möchte das oben erwähnte Ergebnis (XXXX/YYYYY/hallo_a_13_a_12_h oder XXXX/YYYYY/hello_a_13_a_12_p), als ich den Parameter in preg_match –