php.de
Alt 21.01.2007, 22:07  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
rbs_phoenix
rbs_phoenix eine Nachricht über ICQ schicken
Standard regex

Also ich habe vor, aus einem text bei
Code:
<time>123456789</time>
die
Code:
123456789
"auszulesen". denke mal am einfachsten wäre das mit dem regex.

In dem quellcode steht ja das <time>, wird aber nicht angezeit. Man kann es ja mit php bearbeiten, weil der Text als var gespeichert ist. Mich stört das <time> nicht sonderlich, aber ich will die Zahlen mit date() umwandeln, weil es timestamps sind. Ich habe es mal mit dem http://www.regex-tester.de/index.php probiert, aber irgendwie bekomme ich es nich so hin. Bei dem Tutorial vom Quakenet steig ich auch nich so sonderlich durch. Könnte mir eventuell jemand behilflich sein?

MFG RBS_Phoenix


edit: der Text hat mehrere stellen mit '<time>....</time>'. Also muss die Richtige zeit auch bei dem jeweiligem timestamp stehen
__________________
Homepage: http://www.rbs-page.de
rbs_phoenix ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.01.2007, 23:10  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo rbs_phoenix,

es gibt mehrere Möglichkeiten.

1. RegExp: Hier würde ich folgendes Pattern vorschlagen: "/\<time\>([0-9]+)\<\/time\>/i"

2. String-Funktionen: Wenn die Zeichenkette innerhalb des Textes nur einmal vorkommt (mehrmaliges vorkommen kannst du dann selbst implementieren) kann man mit strpos() die Stelle von "<time>" und </time>" suchen und den String dazwischen mit substr() exzerpieren.

Probiers mal und melde dich wieder.


Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 21.01.2007, 23:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du musst doch nur den variablen Teil gruppieren und fertig. Ich glaube dir langsam kein Wort mehr, was du schon alles getestet haben willst.
#<time>([0-9]+)</time>#s

Ist es sooo kompliziert? Man man..
Zergling-new ist offline  
Alt 22.01.2007, 07:16  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
rbs_phoenix
rbs_phoenix eine Nachricht über ICQ schicken
Standard

ich glaub ich bin einfach zu blöd diesen regex tester zu bedienen.. zuerst das beispiel von dr.e.:
http://www.rbs-page.de/slash_error.jpg
so. da ist ja der fehler, dass der delimiter noch ein \ davor braucht. hab ich dann gemacht:
http://www.rbs-page.de/slash.jpg
da findet er auch nichts.

und von zergling das selbe:
http://www.rbs-page.de/raute.jpg

gibt es vielleicht noch ein tutorial, was man empfehlen könnte? Ist ja nicht so, dass ich das mir nicht selber aneignen wollen würde.

MFG RBS_Phoenix
__________________
Homepage: http://www.rbs-page.de
rbs_phoenix ist offline  
Alt 22.01.2007, 07:27  
CIX88
Gast
 
Beiträge: n/a
Standard

Ich sollte 18pt Schrift benutzen ...

http://www.regex-tester.de/regex4_20070122072655.html
 
Alt 22.01.2007, 13:13  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Beim RegExp-Tester darfst du keine Delimiter mit ins Eingabefeld eintragen.
Die musst du links auswählen.

PHP-Code:
<?php
$sString 
"eins zwei <time>123</time> drei <time>456</time> vier fünf sechs";
$aResult = array();
preg_match_all('#<time>([0-9]+)</time>#s'$sString$aResult);
echo 
'<pre>'print_r($aResulttrue), '</pre>';
?>
Zergling-new ist offline  
Alt 25.01.2007, 07:09  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
rbs_phoenix
rbs_phoenix eine Nachricht über ICQ schicken
Standard

ok also ich habe das hinbekommen, dass ich mit preg_match eine prüfung hinbekommen habe. aber wie kann ich jetzt die zahl die ja mit ([0-9]+) geprüft wird, mit date() formatieren und an die gleiche stelle wieder ausgeben?.. wenn ich das im array hab, bringt das ja auch nich so viel:
PHP-Code:
<?php
$zeichenkette 
'<time>486544234</time>';
$suchmuster '#<time>([0-9]+)</time>#is';
$ersetzung '$1';
echo 
preg_replace($suchmuster$ersetzung$zeichenkette);
?>
so gibt er nur die zahl aus. aber :
PHP-Code:
$ersetzung date('H:i:s - d.m.Y''$1'); 
funktioniert nicht. Error: Parameter 2 must be LONG. Weil das warscheinlich leer ist. jetzt frag ich mich, wie man diese zahl darausbekommt. man könnte es halt speichern als var und dann umrechnen aber da is das problem, das wieder an die richtige stelle zu bekommen, weil es mitten im text ist und es mehrere zeiten gibt. Wie kann man das denn noch verwirklichen?

MFG RBS_Phoenix
__________________
Homepage: http://www.rbs-page.de
rbs_phoenix ist offline  
Alt 25.01.2007, 07:41  
CIX88
Gast
 
Beiträge: n/a
Standard

PHP-Code:
error_reporting(E_ALL);

$zeichenkette '<time>486544234</time>';
$suchmuster '#<time>([0-9]+)</time>#is';

function 
lol$treffer ) {
 return 
date('H:i:s d.m.Y'$treffer[1]);
}

echo 
preg_replace_callback($suchmuster'lol'$zeichenkette); 
 
Alt 25.01.2007, 09:14  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
rbs_phoenix
rbs_phoenix eine Nachricht über ICQ schicken
Standard

jo das geht.. danke
__________________
Homepage: http://www.rbs-page.de
rbs_phoenix ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Regex: Auslesen der Meta-Tags einer Webseite Sucheingrenzung pepe24 PHP Tipps 2008 12 31.05.2008 15:41
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex Link Problem Broadcast PHP Tipps 2008 2 29.02.2008 16:30
Gierig/nicht gieriger Regex Papst PHP Tipps 2008 22 02.12.2007 20:15
[gelöst :D ] regex tuts nur einmal pro zeile notyyy PHP Tipps 2008 17 24.09.2007 15:40
RegEx für Mail-Adresse (Bitte prüfen!) vollkommenegal PHP Tipps 2006 13 20.11.2006 20:02
Regex löscht alle Zeilenumbrüche. Anduril PHP Tipps 2006 3 16.10.2006 22:36
ACCEPT-ENCODING: gzip, regex ermittlung Andreas PHP-Fortgeschrittene 7 04.02.2006 16:52
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
RegEx findet Stringvorkommen nicht PHP Tipps 2007 6 08.12.2005 21:52
regex Funktion PHP Tipps 2005-2 6 18.06.2005 02:46
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29
Regex über mehrere zeilen PHP-Fortgeschrittene 3 25.12.2004 16:48
[Erledigt] Regex für selektives Replacement PHP-Fortgeschrittene 2 25.12.2004 15:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.