![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
|
Hallo, in diesem Tutorial werden Blöcke in Template mittels PHP-Code: Das bezieht sich ja im Tutorial auf Blöcke, die folgende Syntax haben HTML-Code: <!-- BEGIN sample_block --> <div>irgendein Inhalt</div> <!-- END --> Quasi so einen Template-Code: HTML-Code: <!-- BEGIN sample_block --> <div>irgendein Inhalt</div> <!-- END sample_block --> In der PEAR-Klasse HTML_PHPLIB_Template wird das mittels PHP-Code: Mein Problem ist schlichtweg der reguläre Ausdruck, da ich nicht weiß, wie ich einen RegExp abhängig von einem "match" in einem RegExp machen kann. Geht das überhaupt? :-/ Sollte irgendwas unverständlich sein, einfach kurz nachfragen. Viele, vielen Dank für Eure Hilfe. Grüße, Ben. [Nachtrag] Der Grund ist einfach der, dass die gewünschte Syntax derzeit in den Templates verwendet wird und ich nicht alle Templates abändern möchte! |
| | |
| | Nach oben #2 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 403
|
Also laut http://de.php.net/manual/en/function...atch.php#37343 funktioniert die Backreference mit einem \\Zahl, aber ich bekomm das Beispiel mit dem regextester nicht zum laufen..... //edit: Andererseits funktioniert das lokal bei mir.... //edit2: und auch das funktioniert bei mir nur lokal: PHP-Code: Code: Array
(
[0] => <!-- BEGIN sample_block -->
<div>irgendein Inhalt</div>
<!-- END sample_block -->
[1] => sample_block
[2] =>
<div>irgendein Inhalt</div>
[3] => sample_block
)
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Jojo (14.02.2007 um 11:19 Uhr) |
| | |
| | Nach oben #4 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
|
Hm, also auslesen kann ich das, aber ersetzen nicht. Ersetzen? Jou, ich habe diese Methode hier PHP-Code: Das als Hintergrundinformation, falls das jemand braucht. Wie gesagt. Ich erhalte bei der Ausgabe von $matchedBlocks Folgendes: Code: array(4) {
[0]=>
array(1) {
[0]=>
string(98) "<!-- BEGIN sample_list -->
<li>{sample_list_item}, Zugriffe: {hits}</li>
<!-- END sample_list -->"
}
[1]=>
array(1) {
[0]=>
string(11) "sample_list"
}
[2]=>
array(1) {
[0]=>
string(48) "
<li>{sample_list_item}, Zugriffe: {hits}</li>
"
}
[3]=>
array(1) {
[0]=>
string(11) "sample_list"
}
}
PHP-Code: Weiß jemand warum? |
| | |
| | Nach oben #6 |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 159
|
Hallo, also ich würde das Ende-Tag einfach korrekt eintragen: PHP-Code: Und weil ich nicht so viele Daten haben will, würde ich das erste Pattern wie folgt ändern: PHP-Code: PHP-Code: Gruß, Jumper, the II. Geändert von JumperII (14.02.2007 um 13:07 Uhr) |
| | |
| | Nach oben #8 |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 159
|
[ \t] .... Leerzeichen und Tabs vorn und hinten wegschneiden .... Stören mich bei solchen Aktionen Gruß, Jumper, the II. |
| | |
| | Nach oben #11 | |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 159
| Zitat:
Code: <!-- BEGIN block --> <h1>Wenn Schon, denn Schon</h1> bla <!-- END block --> <br /> Gruß, Jumper, the II. | |
| | |
| | Nach oben #12 | |
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 597
|
Kann ich mir im Moment nicht vorstellen, da du ja schon nach <!-- und --> suchst bzw. das schon als Bezugspunkte für dein Pattern benutzt. Anders wäre es, wenn du noch ^ und $ mit benutzt, dann wäre es korrekt. EDIT: Zitat:
http://www.regex-tester.de/regex4_20070214185643.html Geändert von CIX88 (14.02.2007 um 18:57 Uhr) | |
| | |
| | Nach oben #13 |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 159
|
Ok, ich sehe, Du hast es nicht verstanden. a) Effektiv herauskommen tut was verwertbares ... keine frage. b) Mit Deinem "Warum nicht ganz" hatte ich interpretiert, dass Du unabhängig von den restlichen Inhalten der Zeile diese Zeile komplett ersetzen willst .... daher das für dich unverständliche Beispiel. c) ich u.U. für weitere Verarbeitungen die Zeilenvorschübe (und vor allem leere Zeilenvorschübe vor und nachher) gerne da haben möchte. Ergo habe ich die Zeilen mit <!-- .. --> bei führenden und abschließenden Leerzeichen und Tabs diese beraubt, weil sie typischerweise dort unnütz sind. Aber das ist jedem seinem Geschmack Andere ziehen dann lieber diesen vor, um sich zu gehen: PHP-Code: Jumper, the II. |
| | |
| | Nach oben #14 |
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 597
|
Ähmmm, mein Posting bezog sich nur auf das \t - mehr nicht. Und das weitere Angaben vor <!-- bzw. nach --> nicht wirklich gebraucht werden. Das war schon alles Wobei ich schon wieder (.*) anzweifeln würde Aber nöööö ... keine Lust ... Grüße ... |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |